RESOLU (PHP/MySQL) Probleme syntaxe...
Forum Programmation : RESOLU (PHP/MySQL) Probleme syntaxe...
Bonjour, je vais vous montrer mon code ( pris sur internet et modifié pour qu'il soit adapté a mes besoins). Ma page s' appelle resultat.php, le resultat s' affiche sur la meme page.
Ma base de donnée: essai
login: root
mdp: (aucun)
table concernée: unites_tbl
| Citation :
|
Sa cré un menu déroulant ou ( normalement ) s' affiche le nom de l' unité contenu dans cette table: unites_tbl :
id nom PV Attaque BonusATQ BonusDEF
1 grenadier 200 20 50 10
2 cavalier 245 15 15 80
3 indigene 420 40 1 10
4 indien 40 100 50 100
Mais le probleme, c'est que le code ne trouve pas ma colonne "nom" et m' affiche : Aucun nom dans le menu déroulant. Je ne trouve pas l' erreur, qqun peut m' aider?
PS: dsl si le script est vraiment pourri car je debute la dedans, et je vois pas du tout ou sa plante
Up!
Personne ne voit ? :-(
Salut,
Pour commencer regarde ton test : if ( !$nb[0] ) {
Effectivement si tu as des resultats tu affiche aucun nom
hors c le contraire que tu fais
Ton change le par if ( $nb == 0 ) {
Ensuite essaye de mieux structurer ton code, pour un debutant c deja pas mal, mais c'est pour eviter de te melanger.
| Citation :
|
Je te remercie, je mettrais des notes sur mon script ^^
bon j' ai sa:
[quote]
<select name="nom"> <form method="post" action="resultat.php">
<?php
//parametrage
$db =("essai" );
$serveur =("localhost" );
$user =("root" );
$pass =("" );
$table =("unites_tbl" );
//connexion BdD
mysql_connect($server, $user, $pass) or die('Erreur de connexion');
mysql_select_db($db) or die('Base inexistante');
$sql = " SELECT * FROM $table ";
$query = mysql_query($sql) or die( 'Erreur' );
$nb = mysql_num_rows($query);
if ( $nb == 0 ) {
echo '<option>Aucun nom</option>';
} else {
while ( $list = mysql_fetch_array( $query ) ) {
echo '<option value="'.$list['nom'].'" </option>';
}
}
//deco
mysql_close();
?>
</select>
<input type="submit" value="OK">
<?php
//connexion
mysql_connect($server, $user, $pass) or die('Erreur de connexion');
mysql_select_db($db) or die('Base inexistante');
$sql = "SELECT * FROM unites_tbl WHERE nom = '".$_POST['nom']."';";
$query = mysql_query($sql) or die( 'Erreur' );
$nb = mysql_num_rows($query);
if ( $nb>0 ) {
echo 'Aucun noms d\' unité connu';
} else {
while ( $list = mysql_fetch_array( $query ) ) {
}
}
//deco
mysql_close();
?>
mais maintenant dans me menu déroulant, ya rien qui s' affiche ( meme plus Aucun nom )... Help please
Tss relis un peu ton code
regarde la ligne :
echo '<option value="'.$list['nom'].'" </option>';
essaye
echo '<option value=\"' .$list['nom'].' \">' .$list['nom'].' </option>';
Yahooooooooo sa marche merci
Ya juste un bug, je selectionne mon item dans le menu déroulant, et quand je met ok, ba rien de s' affiche...
j' avais jamais utilisé les menu de ce genre avant, la je m' y connias pas mais je cris que sa vient de :
<select name="nom"> <form method="post" action="resultat.php">
blablabla
<i n p u t t y p e ="submit" value="OK"> ( dsl mais sa s' affiche pas sur le fofo autrement )
</select>
encore un poil d' aide svp...vraiment dsl
essai ça :
[code]
<form method="post" action="resultat.php">
<select name="nom">
blablabla
</select>
<="submit" value="OK">
[code]
ok merci sa fonctionne ^^
merci a tous !!!
Ba en fait non sa marche pas, j' ai bien la liste, le boutton Ok fonctionne bien, mais quand j' appelle la page resultat1.php, ( j' ai coupé le code en 2 ) cette page m' affiche tjr: Aucun noms d' unité connu
c'est le msg d' erreur si ya rien, hors le nom de l' unité existe, mais sa m' affiche pas ses stats...
encore vraiment dsl de l' aide que je vous demande
PS: ma table unites_tbl:
id nom PV Attaque BonusATQ BonusDEF
1 grenadier 200 20 50 10
2 cavalier 245 15 15 80
3 indigene 420 40 1 10
4 indien 40 100 50 100
Relis ton code
Tu dis que si le résultat est supérieur à z&éro, il affiche une erreur!
if ( $nb>0 ) {
Remplace par
if ( $nb == 0 ) {
merci, mais c'est deja remplacé, et s' a ne marche pas, de plus si dans ma deuxieme partie de code je met ce que tu m' a dit, sa me met deja Aucun nom... avant meme d' appuyer sur Ok...
Ah...
Pourrais-tu mettre à jour les codes stp, et poster ce que tu as mis pour chaque fichier, qu'on voit ce qui ne va pas? Merci
je te fais sa juste apres manger, avec capture d' ecran de mes tables
Oki merci
Voila alors sur la page résultat.php ( script principal )
| Citation :
|
Page resultat1.php appelé par resultat.php:
| Citation :
|
Voila, ma table unites_tbl contenue dans la base de donnée essai:
[img]
http://img436.imageshack.us/img436/5069/table34te.jpg[/img]
Voila voilou le dossier complet
Up
voila toutes les infos, re-help please
Déjà pourquoi ton "select" possède ton bouton ?
Il a pas à être imbriqué dedans...
Et la fin de ton <form> tu l'as mis ?
j' ai essayé dans les 2 sens sa revient au même, le probleme ne vient pas de la ( le boutton Ok est tjr bon, mais j' ai l' impression que c'est ma requete qui foire. )
C'est aps aprce que ca amrche que c'est bien
Désolé mais ton bouton a pas à être dans ton select...
Sinon pourquoi tu as un ";" avant le dernier dans :
Code :
|
Sinon Avant toute chose tu fais un
Code :
|
et tu vois la valeur qu'il te renvoit
En fonction de ca tu peux voir d'où vient le problème...
voila, j' ai remis les balise dans l' ordre, et j' ai rajiouté ton bout de code, sur la page de résultat il s ' affiche:
| Citation : Aucun nom d' unité connu\\\"indigene |
ou indigène est le nom de l' unité que l' on a selectionné dans la liste.
Tu l'as mis où ton echo $nom ?
Mets le dès le début de ton code PHP ;-)
Voila mis au debut du code:
| Citation : \\\"indigeneAucun nom d' unité connu |
c'est pareil sauf qu'il est avant ^^
Mais d'où il te choppe les :
Code :
|
C'est pour ca qu'il trouve pas...
Ba je sais pas, yen a nul part des antislash, meme pas dans ma table
Forcément
Remplace ca :
Code :
|
Par ca :
Code :
|
dans ta page d'affichage des resultat.php je crois...
ok j' ai remplacé, plus d' erreur ^^
mais la c'est moi qui me suis planté, sa m' affiche pas la ligne de la table correspondante mais seulement le nom, c'est ou l' erreur ?
C'est tout à fait normal...
Tu ne récupères que l'attribut 'nom' de ton résultat via :
Code :
|
Ok, j' ai essayer d' uncorporer les autres, mais a chaque fois il me met:
| Citation : Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ']' in C:\wamp\www\essai\resultat.php on line 24 |
je sais pas comment ecrire avec $list , le reste oui
$list['nom'], $list['PV'], $list['Attaque'], $list['BonusATQ'], $list['BonusDEF']
Ca devrait fonctionner ;-)
YAHOOOOOOOOOOOO sa fonctionne!!!!!!!!
j' ai plus qu' a organisé sa dans un petit tableau !!!
Yahooo merci a tous ceux qui ont répondu !!!!!!! :-D
Il y a 352 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
