Liste déroulante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Liste déroulante

par betman » 13 déc. 2005, 11:59

encore moi je fais remonter ce post , car je n'avais pas eu le temps pour tavailler dessus depuis.

Donc mon select affiche les données de ma bdd.

Mais lorsque je les réutilisent, je n'ai rien qui s'enregistre.

Il faut bien donner un "nom" à ce select pour enregistré ?
<select name="nom_col">
<?
include('connection.inc.php');
$query = "SELECT nom_col FROM contact";
$req=mysql_query($query);
while($data = mysql_fetch_assoc($req))
    {
echo "<option value=\"". $data['nom_col'] ."\">".$data['nom_col']."</option>";    }
?>
</select>

par Cyrano » 16 nov. 2005, 21:45

Dis-donc: tu le fais exprès ? :shock:
Tu as le message qui t'indique précisément la ligne de l'erreur, on te l'a corrigé plusieurs fois ce même type d'erreur avec des explications et tu recommence ? Tu nous prends pour qui au juste ? :evil:

par betman » 16 nov. 2005, 16:32

ca me fait ça :

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\program files\easyphp1-7\www\site intranet\production\assimilation.php on line 113
<select>
<?
include('connection.inc.php');
$query = "SELECT * FROM assimilations WHERE  marque2='$_POST['marque2']'";
$req=mysql_query($query);
while($data = mysql_fetch_assoc($req))
    {
echo "<option value=\"". $data['marque2'] ."\">".$data['marque2']."</option>";    }
?>
</select>

par jeff » 16 nov. 2005, 16:25

tu peut essaye ca
$query = "SELECT * FROM assimilations WHERE  marque2=$_POST['marque2']";
ou $_POST['marque2'] est la variable envoyé par la liste precedente

par betman » 16 nov. 2005, 16:20

voilà avec votre cela fonctionne enfin ^^
<select>
<?
include('connection.inc.php');
$query = "SELECT marque2 FROM assimilations";
$req=mysql_query($query);
while($data = mysql_fetch_assoc($req))
    {
echo "<option value=\"". $data['marque2'] ."\">".$data['marque2']."</option>";    }
?>
</select>
Mais ça n'est pas tout, l'objectif de cette liste est de trier par marque les données et donc ne n'afficher que les données de la marque concernée.
Et la j'avoue que je ne vois pas trop comment faire.

Je suis dans le flou...

A quel niveau faut-il effecteur le triage ?

par jeff » 16 nov. 2005, 16:11

c'est normal que ca fonctionne pas
tui appel une requete avant ta connection

Code : Tout sélectionner

$query = "SELECT * FROM assimilations ORDER BY marque2"; while($data = mysql_fetch_assoc($req)) { echo '<option>'.$data['$marque'].'</option>'; } ?> </select> <? include('connection.inc.php'); $query = "SELECT * FROM assimilations ORDER BY marque2";
a remplacer par
include('connection.inc.php');
$query = "SELECT * FROM assimilations ORDER BY marque2";
$req=mysql_query($query);
while($data = mysql_fetch_assoc($req))
    {
    echo '<option>'.$data['$marque'].'</option>';
    }
?>
</select>
<?

$query = "SELECT * FROM assimilations ORDER BY marque2";

par betman » 16 nov. 2005, 16:09

il y a un autre formulaire dans la page qui lui me rapatrie très bien les données, et les 2 scripts utilisent le même fichier de connection.

par jeff » 16 nov. 2005, 16:03

tu est bon pour verifier tes parametre de connection a ta db

par betman » 16 nov. 2005, 16:00

oui j'ai des données dans ma table, je viens de bien veiller à l'orthographe, et la syntaxe est bonne.

Dans mon code source j'ai une erreur

Code : Tout sélectionner

<select> <br /> <b>Warning</b>: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in <b>c:\program files\easyphp1-7\www\site intranet\production\assimilation.php</b> on line <b>115</b><br /> <br /> <b>Warning</b>: mysql_query(): A link to the server could not be established in <b>c:\program files\easyphp1-7\www\site intranet\production\assimilation.php</b> on line <b>115</b><br /> <br /> <b>Warning</b>: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>c:\program files\easyphp1-7\www\site intranet\production\assimilation.php</b> on line <b>116</b><br /> </select>

par charabia » 16 nov. 2005, 15:56

Quand tu regardes la source de ta page tu trouves quoi à ce niveau ?

par VaN » 16 nov. 2005, 15:55

y'a t'il quelque chose dans ta base de données au moins ? aucune erreur d'orthographe pour le nom de la table et du champ ?

par betman » 16 nov. 2005, 15:50

cyrano j'ai copié ton code, et cela ne fonctionne pas non plus. Je n'ai pas de message d'erreur...

<select>
<?php
$sql = "SELECT marque2 FROM assimilations";
$query = mysql_query($sql);
while($data = mysql_fetch_array($query))
{
echo "<option value=\"". $data['marque2'] ."\">".$data['marque2']."</option>"; }
?>
</select>

par Cyrano » 16 nov. 2005, 15:40

Si tu avais copié mon code, tu n'aurais pas eu ce problème: la concaténation est mal faite: correction de la ligne en erreur:
echo "<option value=\"". $data['marque2'] ."\">".$data['marque2']."</option>";
Observe copmme j'ai séparé au niveau de la première variable

par betman » 16 nov. 2005, 15:24

merci pour votre aide.

Bon cela ne fonctionne toujours pas, j'ai cette erreur qui s'affiche :

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\program files\easyphp1-7\www\site intranet\production\assimilation.php on line 119

Mais je pense aussi que j'intègre très mal ma balise select dans mon formulaire :
<select>
  <?php
$sql = "SELECT * FROM assimilations ORDER BY marque2";
$query = mysql_query($sql);
while($data = mysql_fetch_array($query))
    {
    echo "<option value=\"$data['marque2']\">".$data['marque2']."</option>";
    }
?>
</select>
<?
include('connection.inc.php');
$query = "SELECT * FROM assimilations ORDER BY marque2";
$result = mysql_query($query);

$nb = mysql_numrows($result);

while ($val = mysql_fetch_array($result))

{ /* On parcoure les résultats de la requête */
	$id_assim = $val["id_assim"];
	$marque2 = $val["marque2"];
  	$cyl2 = $val["cyl2"];
  	$date = $val["date"];
  	$bool = $val["bool"];
	
  echo "
  
    <table width='750'  border='0' align='center' cellpadding='0' cellspacing='0'>
      <tr>
	    <td width='150' class='texte_gras'>$date</td>
        <td width='300' class='texte_gras'>Marque : <a href='assimilation2.php?id_assim=$id_assim' class='texte_lien'>$marque2</a></td>
        <td width='300' class='texte_gras'>cyl : <a href='assimilation2.php?id_assim=$id_assim' class='texte_lien'>$cyl2</a></td>
	  </tr>
	  <tr>
      </tr>
      <tr>
        <td></td>
      </tr>
      <tr>
        <td colspan='5' height='1' bgcolor='#92c7f3'></td>
      </tr><br>
    </table>
	";
}
?>

Ne criez pas ^^ .....

Re: Liste déroulante

par mario » 16 nov. 2005, 15:17

Bonjour à tous,
 <?php
$query = "SELECT * FROM assimilations ORDER BY marque2";
while($data = mysql_fetch_assoc($req))
    {
    echo '<option>'.$data['$marque'].'</option>';
    }
La requête $query n'est pas exécutée car il manque

Code : Tout sélectionner

$req = mysql_query($sql) or die(mysql_error());
$query = "SELECT * FROM assimilations ORDER BY marque2";
$result = mysql_query($query);
Ajoute or die(mysql_error()); pour avoir l'erreur.