Page 1 sur 1
affichage données BDD et envoi ?
Posté : 16 juil. 2006, 10:55
par Invité
Hello,
Je suis débutant en Php, j’ai réussi avec beaucoup de mal à créer un formulaire qui est sensé afficher les données de ma base de données, le problème c’est que je recois une parse error au niveau de : echo . $data['id'] . $data['sujets'] ; , est ce que quelqu’un peut m’aider à résoudre ce problème de guillemets et normalement comme par miracle les données de ma base devraient s’afficher.
Merci
Code : Tout sélectionner
<?php
// connex base
$base = mysql_connect ('localhost', '*****', '******');
mysql_select_db ('ma_db', $base) ;
?>
<?php
// lancement requete
$sql = ("select * from collections order by sujets asc");
// requete (mysql_query)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// declare tableau
$store = array();
// fait la boucle pour récup données
while($data = mysql_fetch_assoc($req)) {
// stocke donnees dans un tableau
array_push($store, $data);
}
// jaffecte les données
foreach($store as $data) {
>>>>>>problème >>>>>>>> echo . $data['id'] . $data['sujets'] ;
}
echo "<form action= 'formraffichage.php' method='post'>"
."<select name= 'collecID'>"
. "<option value= '" . $data['id'] . "'>"
. $data['sujets'] . "</option>\r\n"
."</select>
<input name='imageField' type='image' src='../../imgs/go.gif' align='middle'>
</form>
";
?>
Posté : 16 juil. 2006, 11:07
par @rthur
Bonjour,
Le point permet de concaténer (=coller) 2 chaînes de caractères.
Or dans ta ligne problématique tu as un point en tout début qui n'est pas à sa place.
Essaye comme ceci:
echo $data['id'] . $data['sujets'] ;
Posté : 16 juil. 2006, 11:21
par Invité
Merci, en fait maintenant j'ai un menu déroulant qui apparait avec la première donnée (sujets) qui apparait et au-dessus toutes les données à la queue leuleu, genre : maviemesamismonchien.
Comment les intégrer dans le formulaire, j'ai mal placé ou oublié quelque chose.... ?
Posté : 16 juil. 2006, 12:25
par KillVador
En fait tu essaie trois fois d'accéder aux mêmes données dans le même ordre ...
En plus d'inutile ça te conduit à une erreur
Code : Tout sélectionner
echo "<form action= 'formraffichage.php' method='post'>";
// fait la boucle pour récup données
while($data = mysql_fetch_assoc($req)) {
echo "<select name= 'collecID'>"
. "<option value= '" . $data['id'] . "'>"
. $data['sujets'] . "</option>\r\n"
."</select>";
}
echo "<input name='imageField' type='image' src='../../imgs/go.gif' align='middle'>
</form>
";
Avec ceci ce devrait tout de suite être beaucoup mieux !
Posté : 16 juil. 2006, 13:05
par Invité
C'est mieux, j'ai maintenant autant de menus deroulant que de données (sujets) BDD. Si j'ai bien compris, la boucle While je l'intègrer dans le formulaire et supprime l'array-push et le foreach ?
Code : Tout sélectionner
<?php
// connex base
$base = mysql_connect ('localhost', '*****', '******');
mysql_select_db ('ma_db', $base) ;
?>
<?php
// lancement requete
$sql = ("select * from collections order by sujets asc");
// lancement requete (mysql_query) message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// declare tableau
$store = array();
echo "<form action= 'formraffichage.php' method='post'>";
// fait la boucle pour récup données
while($data = mysql_fetch_assoc($req)) {
echo "<select name= 'collecID'>"
. "<option value= '" . $data['id'] . "'>"
. $data['sujets'] . "</option>\r\n"
."</select>";
}
echo "<input name='imageField' type='image' src='../../imgs/go.gif' align='middle'>
</form>
";
?>
Posté : 16 juil. 2006, 14:00
par Invité
Quelqu'un sait il comment faire pour que toutes les données de BDD apparaissent dans la même menu déroulant ?

Posté : 16 juil. 2006, 14:05
par Invité
En fait il ne faudrait qu'un seul Select :
Souce html :
Code : Tout sélectionner
<form action= 'formraffichage.php' method='post'>
<select name= 'collecID'><option value= ''>mamere</option>
</select>
<select name= 'collecID'><option value= ''>monpere</option>
</select>
<select name= 'collecID'><option value= ''>masoeur</option>
</select><
input name='imageField' type='image' src='../../imgs/go.gif' align='middle'>
</form>
Posté : 16 juil. 2006, 22:55
par Invité
Help !!!!!
Posté : 17 juil. 2006, 07:40
par Cyrano
Mets donc les options seulement dans la boucle :
<?php
//... code de récupération SQL
?>
<form ...>
<select>
<?php
while(....)
{
?>
<option value="<?php echo(...); ?>"><?php echo(...); ?></option>
<?php
}
?>
</select>
etc...
Posté : 19 juil. 2006, 00:13
par Invité
Hello,
J'ai toujours un problème d'affichage des données de ma BDD, qui veut bien jeter un coup d'oeil sur le script de mon formulaire. Merci
Code : Tout sélectionner
$store = array();
//affect données
foreach($store as $data) {
echo $data['id'] . $data['sujets'] ;
}
?>
<form action= 'formaffichage.php' method='post'>
<select name= 'collecID'>
<?php
// fait la boucle pour récup données
while($data = mysql_fetch_assoc($req)) {
?>
<option value=" <?php echo ($data['id']); ?>" ><option value="<?php echo ($data['sujets']); ?>" ></option>
<?php
}
?>
</select>
<input name='imageField' type='image' src='../../imgs/go.gif' align='middle'>
</form>
Posté : 19 juil. 2006, 23:08
par Invité
Y'a quelqu'un ici qui peut m'aider ?

Posté : 20 juil. 2006, 07:46
par Cyrano
Pourquoi une balise option dans une autre balise option ??
<option value=" <?php echo ($data['id']); ?>" ><option value="<?php echo ($data['sujets']); ?>" ></option>

essaye donc en faisant:
<option value=" <?php echo ($data['id']); ?>" ><?php echo ($data['sujets']); ?></option>
Posté : 20 juil. 2006, 10:29
par Invité
OK, vu .
Cyrano > MERCI

Posté : 20 juil. 2006, 19:23
par Cyrano
[Résolu] 