affichage requéte problèmatique

jean-claude93
Invité n'ayant pas de compte PHPfrance

24 oct. 2006, 16:12

bonjour, je débute en php j'aurais besoin d'aide sur mon problème:
je souhaite affiché les désultat d'une requête en ligne, seulement j'aimerais faire un teste par exemple sur chaque valeur de mon tableau (du genre monprenom='-' ) et ne pas affiche cette ligne (prenom: monprenom)
j'ai commencé un bout de code mais j'ai une quarantaine de ligne à tester , je pense qu'il y a peut être une facon plus intelligente d'effectuer ce test ?

par ex:
nom: monnom
prenom: monprenom
age: monage

nom: monnom2
age: monage2

nom: monnom3
prenom: monprenom3

mon bout de code :oops: :oops:

Code : Tout sélectionner

$sql = 'SELECT nom,prenom,tel,date FROM matable_tbl'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) { echo '</li>NOM: '.$data['nom'].'</li>'; if ($prenom!='-') { echo '<li>PRENOM: '.$data['prenom'].'</li>'; else { } } if ($date!=0) { echo '<li>DATE: '.$data['date'].'</li>'; else { } } .....x40 ??!! } mysql_close();

Eléphant du PHP | 193 Messages

24 oct. 2006, 18:09

Pourquoi ne pas faire le test dans la requête SQL pour ensuite tout afficher?

Code : Tout sélectionner

SELECT nom,prenom,tel,date FROM matable_tbl WHERE prenom <> '-' AND date <> 0
Autre chose, là tu as testé tous les champs, que testes-tu d'autre?[/code]

jean-claude93
Invité n'ayant pas de compte PHPfrance

24 oct. 2006, 20:01

ben :( tout mes champs :oops: mais c'est peut etre pas une bonne idée :!:
j'avais pensé en fait pouvoir tout mettre dans un tableau (array) et peut etre c'était + simple ?

Eléphant du PHP | 193 Messages

24 oct. 2006, 20:39

ben :( tout mes champs :oops: mais c'est peut etre pas une bonne idée :!:
j'avais pensé en fait pouvoir tout mettre dans un tableau (array) et peut etre c'était + simple ?
Tu as 4 champs pour le moment oO

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 oct. 2006, 08:23

C'est pas vraiment la même chose... si le prénom n'est pas renseigné il veut juste ne pas l'afficher, mais rammene quand même les autres informations de l'enregistrement... si tu filtres au niveau de la requête tu n'auras jamais les autes informations associées à l'enregistrement...

Ta façon de faire est donc la bonne, mais tu n'utilises pas les bonnes variables, ce n'est pas "$prenom" qu'il te faut tester mais plus vraissemblablement "$data['prenom']"
Par ailleurs là syntaxe du if me parait bizare avec tes accolades. La bonne syntaxe devrait être :
if (...) {

}
else {

}
Pour te simplifier un peu la vie et l'écriture, si dans tes else {} il n'y a rien à faire, ce n'est pas la peine de les spécifier :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

jean-claude93
Invité n'ayant pas de compte PHPfrance

25 oct. 2006, 10:35

merci pour vos réponses, j'ai plus qu'a tester tout ça. :D