2 votes

Si déclaration formule appropriée

J'ai cherché ici des informations sur les instructions if. J'ai trouvé quelques choses mais j'ai des problèmes pour comprendre la formule d'instruction correcte.

J'ai 2 tables dans la base de données avec les 2 champs suivants

table 1
rct_app_id

table 2
uid

maintenant si le champ uid correspond au champ rct_app_id je veux que cela affiche

echo "Signal vert";

si ils ne correspondent pas

echo "Non";

voici ma formule

function query($query)
{
    global $connection;
    return mysqli_query($connection, $query);
}

1voto

larsAnders Points 3714

Vous devez corriger deux lignes. $result contient les résultats de la base de données, donc c'est la source des données rct_app_id. Ensuite, lorsque vous faites la comparaison, vous devez comparer les deux variables.

$rct_app_id = $result['rct_app_id'];

if ($rct_app_id == $user_id) {

De cette façon, vous comparez un tableau à une chaîne de caractères.

Lorsque vous faites ceci :

$rct_app_id = ['rct_app_id'];

Vous définissez en réalité la variable $rct_app_id égale à un tableau avec un élément, bien que la syntaxe soit incorrecte. Au lieu de cela, vous devez obtenir un élément du tableau qui est retourné par la base de données. Cela suppose que vous avez une fonction appelée query() qui fonctionne correctement et renvoie un tableau.

Au lieu de cela, nous devons définir la variable égale à un élément du tableau comme ceci :

$rct_app_id = $result['rct_app_id'];

Ensuite, lorsque vous faites une comparaison comme ceci :

if ($rct_app_id == 'uid') {

vous dites si la variable $rct_app_id est égale à la chaîne uid, ce qui n'est pas le cas. Les variables commencent toujours par $ en php, les chaînes sont entre guillemets. La variable définie précédemment dans le script est $user_id (à partir de SESSION), donc nous devons la comparer à cela :

if ($rct_app_id == $user_id)

1voto

Rome Points 22

Essayez ceci. mais gardez à l'esprit que c'est difficile pour les gens de comprendre ce qui se passe par petits morceaux et cela rend plus difficile de vous aider.

0voto

Greg Borbonus Points 1335

MISE À JOUR : Vous avez spécifié votre bibliothèque SQL, j'ai modifié la réponse ci-dessous pour fonctionner avec votre réponse mise à jour.

Comme vous n'avez pas spécifié la bibliothèque, je fais la réponse et les modifications de code en supposant que vous utilisez mysql. Bien que toutes les requêtes et fonctions de retour utilisent une syntaxe similaire, c'est-à-dire mysql_fetch_assoc() = mysqli_fetch_assoc(), pg_fetch_assoc(postgres).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X