on peut pas lapeller dans la même fenêtre ?Citation:
Envoyé par ratapapa
Version imprimable
on peut pas lapeller dans la même fenêtre ?Citation:
Envoyé par ratapapa
:oops: désolé c'est form.action et non form.target bien évidemment qu'il faut redéfinir
merci :)Citation:
Envoyé par ratapapa
re,
comment on fait pour garder les cahmps rempli quand la marque est choisie ? en utilisant des sessions ?
Non en faisant simplement un test sur $_POST['marque'] dans tes balises option
Code:
1
2
3
4<select id='marque' onChange'...'> <option value='toto' <?php echo ($_POST['marque'] == "toto")?" selected ": ""; ?>> </select>
BonjourCitation:
Envoyé par ratapapa
à quoi sert le point d'interrogation ?
j'arrive pas à bien le mettre dans mon code... :cry:
pour revenir à mon précédent problème, j'ai refait ma base, mais ma deuxième liste ne fonctionne pas, alors que ma requête marche !
merci pour votre réponse.
Le point d'interrogation simplement un if/else abrégé ca revient à écrire
A noter en l'occurence que le else ne sert a rien :aie:Code:
1
2<?php if($_POST['marque'] == "toto") echo " selected "; else echo ""; ?>
Pour ton problème ton code actualisé serait le bienvenue ;)
voilà mon code avec la bonne requete :)
je n'arrive pas non plus à mettre ton bout de code (ou alors, je m'y prend mal :aie: )Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 <?php require_once ("classes/sql.pg.class.php"); require_once ("classes/record.pg.class.php"); ?> <form method='post' action='FinAjoutProd.php' name='produit_form' enctype="multipart/form-data" > <br><br><h2>Insertion produit</h2> <br><br> <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> <table border="0"> <tr> <td>Nom produit<font color="#FF0000">*</font> </td> <td><input type="text" name="nomproduit" size="33"> </td></tr><tr><td> </td><td> </td> </tr><tr > <td>type produit </td> <td><input type="text" name="typepord" size="33"> </td> </tr><tr><td> </td><td> </td> </tr><tr > <td>Caractéristique produit </td> <td><input type="text" name="caractprod" size="33"> </td> </tr><tr><td> </td><td> </td> </tr><tr > <td>Choix image<font color="#FF0000">*</font> </td> <td><input type="file" name="image"> </td> </tr><tr><td> </td><td> </td> </tr><tr > <td>Choix marque<font color="#FF0000">*</font> </td> <td><?php // On se connecte sur Postgresql et sur la base de données $sql = new sql(); $sql->s_server("localhost"); $sql->s_login("postgres"); $sql->s_base("truc"); $sql->s_password("machin"); if( ! $sql->connecte()) { echo "Erreur de connexion à la base. \n"; exit; }else { echo '<SELECT NAME="marque" onChange="produit_form.action=\'ajout_produit.php\';produit_form.submit();"><option value="" echo ($_POST["marque"] == $marque)?" selected ": ""; ></option>'; $reql = new record($sql); $reql = pg_query("SELECT nommarque FROM marque ORDER BY nommarque"); while ($nommarque=pg_fetch_object($reql)) { echo "<option>".$nommarque->nommarque."</option>"; } echo '</SELECT>'; } ?> </td> </tr><tr><td> </td><td> </td><?php if(isset($_POST['marque'])) {?><tr > <td>Choix famille<font color="#FF0000">*</font> </td> <td><select name="famille"><option value=""></option> <?php $reql = new record($sql); $reql = pg_query("SELECT nomfamille FROM familleprod, liaison, marque WHERE liaison.nommarque = marque.nommarque AND liaison.libfamille = familleprod.libfamille AND marque.nommarque = '$marque' ORDER BY nomfamille"); while ($nomfamille=pg_fetch_object($reql)) { echo "<option>".$nomfamille->nomfamille."</option>"; } } ?> </SELECT> </td> </tr><tr><td> </td><td> </td> </tr><tr><td colspan="2" align="center"><br><br><input type="button" onClick="validation(this.form)" name="produit" value="Insérer"><br></td></tr> </table> </form>
merci pour ton aide :oops:
Ah non je me suis mal fait comprendre :
D'ou vient le problème ? la deuxième liste ne s'affiche pas meme après sélection de la première ?Code:
1
2
3
4
5
6
7
8
9
10
11 echo '<SELECT NAME="marque" onChange="produit_form.action=\'ajout_produit.php\';produit_form.submit();"><option value="" ></option>'; $reql = new record($sql); $reql = pg_query("SELECT nommarque FROM marque ORDER BY nommarque"); while ($nommarque=pg_fetch_object($reql)) { echo "<option "; echo ($_POST["marque"] == $nommarque->nommarque)?" selected "; echo ">".$nommarque->nommarque."</option>"; } echo '</SELECT>';
ok, merci ça marche... mais j'ai essayé de faire presque la même chose pour les autres champs... marche pas... mais ça c'est pas le plus important... :oops:
oui, la deuxième liste reste tout le temps vide après être apparue...
Ta variable $marque sort de nul part remplace la par $_POST['marque'].Code:
1
2 $reql = pg_query("SELECT nomfamille FROM familleprod, liaison, marque WHERE liaison.nommarque = marque.nommarque AND liaison.libfamille = familleprod.libfamille AND marque.nommarque = '$marque' ORDER BY nomfamille");
Si la liste s'affiche c'est que le rafraichissement est correct, si elle est vide c'est un problème de requete SQL et non de php.
pfffff je suis bête !
merci, du coup ça marche ! en mettant ça avant ! :aie:
merci beaucoupCode:$marque = $_POST['marque'];