html -> php

Répondre
BornToBe
le 25/08/2004 à 12:27
BornToBe
Voilà, je galère pour une connerie, comme d'hab!
J'ai ceci:
<select name= "ChoixSpectacle">
while ($data = mysql_fetch_array($req))
{
<option>"'.$data['Nom'].'"
<input type="hidden" name="identifiant_spec" value="'.$data['ID_Spec'].'">
}
</select>
Et je n'arrive pas à faire comprendre ces balises dans le phpsmiley. J'ai bien essayé avec des echo, mais ça marche pas - ou alors je m'y suis mal pris...
Un pitit tuyau, siouplé!

BTB

P.S.: vous savez, un jour je poserai des questions pertinentes! Si.
Nì heolas go haontìos
moogli
le 25/08/2004 à 12:34
moogli
salut,

Je ne sais ce que tu as avant mais pour afficher c'est echo ou print ..
<select name= "ChoixSpectacle"> 
<?php
while ($data = mysql_fetch_array($req))
{
echo '<option>'.$data['Nom'].'
<input type="hidden" name="identifiant_spec" value="'.$data['ID_Spec'].'">';
}
?>
</select>


Voila avec sa tu devrait etre sortie d'affaire :)
@+
Il en faut peu pour être heureux !!!!!
Koboneil
le 25/08/2004 à 12:38
Koboneil
Les menus déroulants fonctionnent comme ceci :

<select name="ChoixSpectacle">
<option value="Option 1">Option 1</option>
<option value="Option 2">Option 2</option>
<option value="Option 3">Option 3</option>
....
</select>


Ensuite pour récupérer le choix, $_POST['ChoixSpectacle'] retounera la valeure qui se trouve dans value="" du choix choissis ( ^^ )

smiley
Koboneil
moogli
le 25/08/2004 à 12:48
moogli
Ou la honte sur moi smiley
<select name= "ChoixSpectacle"> 
<?php
while ($data = mysql_fetch_array($req))
{
echo '<option value="'.$data['ID_Spec'].'" >'.$data['Nom'].'</option>';
}
?>
</select>

Voila comme dis si dessus tu recupère l' ID_Spec qui correspond au nom.

encore desolé le reveille est dur smiley
Il en faut peu pour être heureux !!!!!
BornToBe
le 30/08/2004 à 11:13
BornToBe
Salut!
Alors j'ai essayé ta solution, et elle marche: la liste déroulante se remplit comme il faut.
MAIS (ben ouismiley) le but de ce champ déroulant était aussi de pouvoir remplir automatiquement les champs de saisie qui suivaient à partir des valeurs dont l'ID est donné par le clic sur le menu déroulant.
Alors, après j'ai lancé la requête :
$sql2 = 'SELECT * FROM spectacle WHERE ID_Spec = "'.$ChoixSpectacle.'"';
Puis :
<form action = "TraitmentModifSpec.php" method="post">
Nom : <input value="<? echo $data2['Nom'];?>" type = "text" name = "Nom" MAXLENGTH="50"> (...)
Le problème est que les champs ne sont pas remplis lors du clic sur un élément de la liste déroulante. Pourquewa?

BTB
Nì heolas go haontìos
moogli
le 30/08/2004 à 12:17
moogli
Salut,
Ben c'est normale (ou presque), quand tu selectionne un element de la liste deroulante il faut que tu effectue un OnClick (OnSelect ?) et que a partir de sa tu remplisse ton champ text

Pour sa soit tu met dans un tablo JS le contenu du champ nom en fonction de l'id (voir le post sur les liens tablo PHP ->tablo JS :) et dans ton onclick (onselect) tu met : return mafonction(\''.$id.'\',this);
et =>
mafonction(id,form) {
window.document.form.Nom.value=tablo[id];
}
sachant que tablo[] contient les nom en fontion des id.

Sinon dans le onclick on select tu met un submit (fo regarder de plus js je ne sais plus comment on fait mais sa se fait) et dans le value de nom tu met
value="<?php if (isset($_POST['id'])) {
$sql2 = 'SELECT * FROM spectacle WHERE ID_Spec = "'.$_POST['id'].'"';
$req2=mysql_query($sql2);
if (mysql_num_rows==1)
{
$data2=mysql_fetch_array($req2);
echo $data2['Nom'];
} else {
echo 'Souci lors de la selection du nom';
}
mysql_free_result($req2);
} ?> "


Voila comment je vois la chose :) (j'espère que ta pigé ce que j'ai dis, j'ai po l'impression d'être clair))
Il en faut peu pour être heureux !!!!!
BornToBe
le 02/09/2004 à 14:57
BornToBe
Bon, j'ai essayé plein de trucs et je commence à en péter, là...
Finalement, j'ai essayé ta dernière proposition(c'est-à-dire celle où l'on n'utilise pas le javascript), et après plusieurs tentatives persos, j'ai essayé d'appliquer lettre pour lettre la tienne: voilà ce que j'ai mis:
<form action="modifier_spectacle.php" name="ListeSpec" method="post">
<select name="ChoixSpectacle" onSelect="this.document.forms['ListeSpec'].submit();"
value="<?php if (isset($_POST['id']))
{
$sql2 = 'SELECT * FROM spectacle WHERE ID_Spec = "'.$_POST['id'].'"';
$req2 = mysql_query($sql2);
if (mysql_num_rows==1)
{
$data2=mysql_fetch_array($req2);
echo $data2['Nom'];
}
else
{
echo 'Erreur SQL';
}
mysql_free_result($req2);
}
?> " >

</select>
</form>
Mais plusieurs questions me tournent la pine: il y a un test pour vérifier l'existance de $_POST['id']: qu'est-ce que c'est, vu que la requête n'a pas encore été lancée? le echo $data2['Nom'], c'est ce qui est sensé s'afficher dans la liste?
Veuillez me pardonner si ce post semble débile - en fait, là, je m'en rends pas compte, tellement j'en pète - mais après tant de tentatives à l'eau, je commence à douter de ce que je croyais acquis...

BTBStaking
Nì heolas go haontìos
moogli
le 03/09/2004 à 17:27
moogli
Salut,

pour commencer ta un souci sur ton lien
+> http://www.lephpfacile.com/wall/lire_wall.php?wall=1636

Faut que je t'explique le principe
quand tu change le select ta page est rafraichis et affiche les valueurs dans les inputs.

pour le reste du form ti remplis le value que lorsque que tu as la valeur. Ton script va t'afficher en value le dernier tuple de ta base (quelque soit le nombre et leur contenue).

Donc tu affiche ton select
<select name="ChoixSpectacle" style="font-family: courier new; font-weight: bold;" onChange="return BTB();">
<?php
while ($data=mysql_fetch_array($req))
{
//je passe le blabla de recup des tuples
echo '<option value="'.$ID_Spec.'"';
if (isset($_GET['id'])) && $_GET['id']==$ID_Spec)
{
echo ' checked';
}
echo '>$Nom</option>';
}
?>

La fonction javascript BTB
<script language="javascript">
function BTB() {
id = document.ListeSpec.ChoixSpectacle.value;
url = './tapage.php?id='+id;
location.href = url;//fau verifier la syntaxe ed redirection javascript je ne suis plus sur
}
</script>
Y a aussi la possiblite de mettre dans le on change du select un combiné de tout sa.
onchange="javascript:location.href='tapage.php?id='+this.value;"

Par contre je ne sais pas si sa fonction (n'étant pas trop doué en javascript).
pour le reste du formulaire
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1640]ce lien[/lien])


ensuite je viens de voir que tu ferme le form en dessous du select et tout en bas de la page mais ta pas d'ouverture d'un 2ème form ????

SI non pour commencer tu peut fait 2 pages 1 premier form avec que le select et une 2ème avec l'affichage.
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours