RESOLU (PHP/MySQL) Probleme syntaxe...
Dernière réponse : dans Programmation
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
<select name="nom"> <form method="post" action="resultat.php">
<?php
$db =("essai");
$serveur =("localhost");
$user =("root");
$pass =("");
mysql_connect($server, $user, $pass) or die('Erreur de connexion');
mysql_select_db($db) or die('Base inexistante');
$sql = 'SELECT * FROM unites_tbl';
$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'].'">'.$list['nom'].'</option>';
}
}
mysql_close();
?>
</select>
<input type="submit" value="OK">
<?php
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 ) ) {
}
}
mysql_close();
?>
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
Ma base de donnée: essai
login: root
mdp: (aucun)
table concernée: unites_tbl
Citation :
<select name="nom"> <form method="post" action="resultat.php">
<?php
$db =("essai");
$serveur =("localhost");
$user =("root");
$pass =("");
mysql_connect($server, $user, $pass) or die('Erreur de connexion');
mysql_select_db($db) or die('Base inexistante');
$sql = 'SELECT * FROM unites_tbl';
$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'].'">'.$list['nom'].'</option>';
}
}
mysql_close();
?>
</select>
<input type="submit" value="OK">
<?php
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 ) ) {
}
}
mysql_close();
?>
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
Autres pages sur : resolu php mysql probleme syntaxe
Lassé par la pub ? Créez un compte
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.
<?
$db =("essai");
$serveur =("localhost");
$user =("root");
$pass =("");
//connexion à la BD
mysql_connect($server, $user, $pass) or die('Erreur de connexion');
mysql_select_db($db) or die('Base inexistante');?>
<form method="post" action="resultat.php">
<select name="nom">
$sql = 'SELECT * FROM unites_tbl';
$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'].'">'.$list['nom'].'</option>';
}
}
mysql_close();
?>
</select>
<="submit" value="OK">
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 :
<?
$db =("essai");
$serveur =("localhost");
$user =("root");
$pass =("");
//connexion à la BD
mysql_connect($server, $user, $pass) or die('Erreur de connexion');
mysql_select_db($db) or die('Base inexistante');?>
<form method="post" action="resultat.php">
<select name="nom">
$sql = 'SELECT * FROM unites_tbl';
$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'].'">'.$list['nom'].'</option>';
}
}
mysql_close();
?>
</select>
<="submit" value="OK">
Je te remercie, je mettrais des notes sur mon script ^^
bon j' ai sa:
<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
bon j' ai sa:
Citation :
<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
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
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
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
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
Voila alors sur la page résultat.php ( script principal )
<form method="post" action="resultat1.php">
<select name="nom">
<?php
//paramètres
$db =("essai");
$serveur =("localhost");
$user =("root");
$pass =("");
$table =("unites_tbl");
//connection 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'].' \">' .$list['nom'].' </option>';
}
}
//fermeture base
mysql_close();
?>
<input type="submit" value="OK">
</select>
Page resultat1.php appelé par resultat.php:
<?php
$db =("essai");
$serveur =("localhost");
$user =("root");
$pass =("");
$table =("unites_tbl");
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 ) ) {
}
}
mysql_close();
?>
Voila, ma table unites_tbl contenue dans la base de donnée essai:
http://img436.imageshack.us/img436/5069/table34te.jpg" alt="" class="imgLz frmImg" />
Voila voilou le dossier complet
Citation :
<form method="post" action="resultat1.php">
<select name="nom">
<?php
//paramètres
$db =("essai");
$serveur =("localhost");
$user =("root");
$pass =("");
$table =("unites_tbl");
//connection 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'].' \">' .$list['nom'].' </option>';
}
}
//fermeture base
mysql_close();
?>
<input type="submit" value="OK">
</select>
Page resultat1.php appelé par resultat.php:
Citation :
<?php
$db =("essai");
$serveur =("localhost");
$user =("root");
$pass =("");
$table =("unites_tbl");
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 ) ) {
}
}
mysql_close();
?>
Voila, ma table unites_tbl contenue dans la base de donnée essai:
Voila voilou le dossier complet
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 :
Sinon Avant toute chose tu fais un
et tu vois la valeur qu'il te renvoit
En fonction de ca tu peux voir d'où vient le problème...
Désolé mais ton bouton a pas à être dans ton select...
Sinon pourquoi tu as un ";" avant le dernier dans :
$sql = "SELECT * FROM unites_tbl WHERE nom = '".$_POST['nom']."';";
Sinon Avant toute chose tu fais un
$nom=$_POST['nom'];
echo $nom;
et tu vois la valeur qu'il te renvoit
En fonction de ca tu peux voir d'où vient le problème...
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumPhp mysql probleme insertion donnees
- ForumPhp mysql probleme de requete
- ForumPhp mysql probleme incrementation bdd
- ForumHtml php mysql probleme de tableau
- ForumPhp mysql probleme accent
- ForumPhp mysql probleme verif script
- ForumPhp mysql probleme d'update
- ForumPhp mysql probleme d'affichage
- ForumPhp, mysql probleme de requete
- ForumPhp mysql probleme de session .
- Voir plus