on peut pas lapeller dans la même fenêtre ?Envoyé par ratapapa
on peut pas lapeller dans la même fenêtre ?Envoyé par ratapapa
désolé c'est form.action et non form.target bien évidemment qu'il faut redéfinir
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<select id='marque' onChange'...'> <option value='toto' <?php echo ($_POST['marque'] == "toto")?" selected ": ""; ?>> </select>
BonjourEnvoyé par ratapapa
à quoi sert le point d'interrogation ?
j'arrive pas à bien le mettre dans mon code...
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !
merci beaucoup
Code : Sélectionner tout - Visualiser dans une fenêtre à part $marque = $_POST['marque'];
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager