par
Stef » 27 déc. 2008, 19:15
Merci pour avoir noter l'absence du ; ...
sinon oui oui, j'ai tout à fait besoin d'un else:
if il y a des lignes avec 'restaurant' dans le champ qui m'intéresse alors action
else il n'y a pas 'restaurant' alors un autre code...
C'est une page qui va afficher les données d'une ligne de ma table dont un des champs est 'restaurant' en l'occurence; si il y a 'restaurant' dans un ou plusieurs champs de cette table je veux pouvoir exécuter mon if mais pas le else, lequel servira à retourner qu'il n'y a pas d'enregistrements de cette sorte.
En gros je veux que mon code fasse:
regarde dans la table si une ou des lignes ont à tel champ tel chaine, si oui, affuche ceci, si non affiche cela;
mais il faut que ce soit l'un ou l'autre, pas les deux!
dans la version à while le code opère les deux... quand il trouve la chaine en question pour un ligne il excute le if, et pour une ligne où il ne trouve pas la chaine il exécute le else, et ce n'est pas ce que je veux.
Sinon, j'ai essayé ça:
$check = "SELECT cat FROM item WHERE cat LIKE '%restaurant%'";
$x = mysql_query($check);
$test = mysql_fetch_array($x);
if (in_array ('restauration', $test)) {
et j'ai cette réponse:
Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\wamp\www\
le 'wrong datatype pour second argument' c'est $test...
Edit:
j'ai commis une bourde, voici la version rectifiée et qui fait que ça fonctionne comme je le voulais:
$check = "SELECT cat FROM item WHERE cat LIKE '%restauration%'";
$x = mysql_query($check);
$test = mysql_fetch_array($x);
if (in_array ('restauration', $test)) {
j'avais mis "restaurant" au lieu de "restauration"...
Merci merci merci aminithra!!

ça fonctionne comme je le voulais!
[/b]
Merci pour avoir noter l'absence du ; ... :oops:
sinon oui oui, j'ai tout à fait besoin d'un else:
if il y a des lignes avec 'restaurant' dans le champ qui m'intéresse alors action
else il n'y a pas 'restaurant' alors un autre code...
C'est une page qui va afficher les données d'une ligne de ma table dont un des champs est 'restaurant' en l'occurence; si il y a 'restaurant' dans un ou plusieurs champs de cette table je veux pouvoir exécuter mon if mais pas le else, lequel servira à retourner qu'il n'y a pas d'enregistrements de cette sorte.
En gros je veux que mon code fasse:
regarde dans la table si une ou des lignes ont à tel champ tel chaine, si oui, affuche ceci, si non affiche cela;
mais il faut que ce soit l'un ou l'autre, pas les deux!
dans la version à while le code opère les deux... quand il trouve la chaine en question pour un ligne il excute le if, et pour une ligne où il ne trouve pas la chaine il exécute le else, et ce n'est pas ce que je veux.
Sinon, j'ai essayé ça:
[php]
$check = "SELECT cat FROM item WHERE cat LIKE '%restaurant%'";
$x = mysql_query($check);
$test = mysql_fetch_array($x);
if (in_array ('restauration', $test)) {
[/php]
et j'ai cette réponse:
[quote="PHP :)"]
Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\wamp\www\
[/quote]
le 'wrong datatype pour second argument' c'est $test...
[b]Edit:
j'ai commis une bourde, voici la version rectifiée et qui fait que ça fonctionne comme je le voulais:
[php]
$check = "SELECT cat FROM item WHERE cat LIKE '%restauration%'";
$x = mysql_query($check);
$test = mysql_fetch_array($x);
if (in_array ('restauration', $test)) {
[/php]
j'avais mis "restaurant" au lieu de "restauration"...
Merci merci merci aminithra!! :D ça fonctionne comme je le voulais!
[/b]