begin process at 2010 02 10 14:32:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Code postal => Ville


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Code postal => Ville

samedi 5 novembre 2005 à 11:44:26 | Code postal => Ville

Bonhomet

Bonjour à tous,
tout d'abord je précise que je débute en php alors d'avance, je m'excuse, si ma quesion peut vous sembler simple mais je tourne en rond.

J'ai une base de donnée mysql avec 2 champs :
Code : les codes postaux belges => 4 chiffres
Name : le nom des villes correspondant aux différents codes

J'aimerais avoir ceci :
- un input 'code postal' où l'utilsateur rentre un code postal.
- un bouton 'Chercher' qui va sélectionner dans ma bd le nom des (des, car il y en a souvent plusieurs) villes correspondant au code postal entré
- un champ select qui affiche une liste déroulante de ces villes

J'ai tout d'abord essayé de le faire en ouvrant un popup avec la fonction recherche et ensuite d'inclure les résultats dans une variable de session, mais je me suis aperçu qu'on ne pouvait pas faire passer une variable de session de type array d'une page à une autre (pour rappatrier $_SESSION du popup à la page principale)

Voici ce que j'essaie à présent : (mon fichier s'appel cp22.php)

<?php
session_start();

if(isset($_POST['cp']))      $cp=$_POST['cp'];
else      $cp="";

// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on seléctionne la base
mysql_select_db('client',$db);

// on crée la requete SQL
$sql = "SELECT Code,Name FROM codes_tbl";

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
?>

<html>
<form method="POST" action="cp22.php">
<table border="0">

<tr>
<td>Code postal :</td>
<td><input type="text" name="cp" size="20" maxlength="4"></td>
</tr>
<tr>
<td>Localité :</td>
<td><select size="5" name="choix1">
<select name="localite">
<?php if ($cp="") { break; }
    else
    {
        $sql = "SELECT Code,Name FROM codes_tbl WHERE Code=$cp";
        echo '<select name="localite">';
             for(i=0; i<mysql_num_rows($sql); i++)
            {
            echo '<option value="Localite.'i'">'.$cp.'</option>';
            }
        echo '</select>';
    }
?>
</td>
</tr>


</table>

<input type="submit" value="Chercher" name="chercher">
</form>

</html>
<?php
session_destroy();
mysql_close();
?>


Je précise que mon fichier s'appel cp22.php car <form method="POST" action="cp22.php"> => je reload la page

J'obtiens ceci :
Parse error: parse error, expecting `';'' in c:\program files\easyphp1-8\www\client\cp22.php on line 37
la ligne 37 étant celle de la boucle for.
Pas moyen d'échapper à cette erreur :/

Pensez-vous que j'y prends mal, si oui donnez-moi des idées
Pouvez-vous m'aider à faire fonctionner ce script ?

D'avance, merci à tous

samedi 5 novembre 2005 à 11:49:37 | Re : Code postal => Ville

monoceros01

C'est pas du javascript mais du php, alors les variables, on y met des $ hein :p
Pis on concatène dans le bon sens...

for($i=0; $i<mysql_num_rows($sql); $i++)
{
    echo '<option value="Localite'.$i.'">'.$cp.'</option>';
}


samedi 5 novembre 2005 à 11:57:34 | Re : Code postal => Ville

Bonhomet

merci, je n'ai déjà plus d'erreur à la boucle for

mais qd je lance la recherche :
mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>c:\program files\easyphp1-8\www\client\cp22.php</b> on line <b>37</b>


samedi 5 novembre 2005 à 11:59:01 | Re : Code postal => Ville

monoceros01

remplace $sql par $req dans ton for.... c'est pourtant évident comme erreur v__v
samedi 5 novembre 2005 à 12:00:25 | Re : Code postal => Ville

monoceros01

a oui et t'as oublié juste avant justement
$req = mysql_query($sql);

samedi 5 novembre 2005 à 12:15:09 | Re : Code postal => Ville

Bonhomet

Avec $req ça affiche des <option> de 0 à 2902 avec rien entre <option> et </option>
et qd je mets  $req = mysql_query($sql);  j'ai denouveau :
<b>Warning</b>:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>c:\program files\easyphp1-8\www\client\cp22.php</b> on line <b>38</b>


samedi 5 novembre 2005 à 12:25:42 | Re : Code postal => Ville

monoceros01

Réponse acceptée !
Essaye plutôt ça :

<?php
if($cp !== '')
{
    echo '<select name="localite">';
    $sql = "SELECT id,Name FROM codes_tbl WHERE Code='$cp'";
    $req = mysql_query($sql);
    while($datas = mysql_fetch_row($req) )
    {
        echo '<option value="'.$datas['id'].'">'.$data['Name'].'</option>';
    }
    echo '</select>';
}
?>


En espérant que tu es pris la peine de mettre un champ de type int en PRIMARY KEY (que j'ai ici appelé id)
Si ce n'est pas le cas, c'est une erreur!

samedi 5 novembre 2005 à 12:26:32 | Re : Code postal => Ville

coucou747

salut;
remplace :
$sql = "SELECT Code,Name FROM codes_tbl WHERE Code=$cp";
        echo '<select name="localite">';
             for(i=0; i<mysql_num_rows($sql); i++)


par :
$sql = "SELECT Code,Name FROM codes_tbl WHERE Code=$cp";
$req=mysql_query($sql) or die(mysql_erro());
        echo '<select name="localite">';
             for(i=0; i<mysql_num_rows($req); i++)


et vas faire un tour sur php.net, cherches variables et mysql, regardes les exemples, ça devrait t'éclairer un peu...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

[ Lien ]
samedi 5 novembre 2005 à 13:22:31 | Re : Code postal => Ville

Anthomicro

Salut,

j'aurais même remplacé la boucle for soit par un while soit par un for mais sans le mysql_num_rows appelé à chaque fois.

$nb=mysql_num_rows($req);
for(i=0; i<$nb; i++)



    Cette discussion est classée dans : code, mysql, sql, postal, cp


    Répondre à ce message

    Sujets en rapport avec ce message

    Pb syntax php mysql+systèmes fichiers [ par XFLR6 ] hellodsl pour ce titre un peu bizarre, mais je savais pas quoi mettre d'autre pour qualifier mon problème ...alors voila ;je V vous montrer un bout du commandes sql:ou ca que je les tapes??? [ par peterbud ] b'jour tout le monde,J'utilise easyphp1.7 sous windows.j'ai acheté le bouquin de Philippe Rigaux intitulé"mysql et php",j'ai sondé tous les sites du n changement dynamique liste déroulante [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  &n liste deroulante dynamique [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  < Tableau et SQL [ par Anthotill ] Salut à tous !j'essaye sans succès depuis pas mal de temps d'obtenir un tableau avec des informations provenant de mysql, un tableau de ce type :1991e Pb bizarre sur un while [ par Cestmoi ] Bonjour, j'ai un problème que je n'ai pas d'habitude de voir, puisque j'utilise ce bout de code à chaque fois. En effet, ma requete me retourne par ex boucle sql [ par whouu ] salut les amis, j'explique mon souci j'ai une table mysql avec 2 champs un 'nom' un 'code' l'utilisateur peut entré plusieurs fois son nom (illimité) mysql et php v 5.2.6 [ par Laurpierre ] Bonjour,Je rencontre un problème avec une procédure mysql et php V 5.2.6, que je n'arrive pas à résoudre. Avec php v 5.2.0, je n'ai pas ce problème.Av Ma varaible ne passe pas.... [ par pasbonte ] Bonjour Grace à phpanonyme, j'ai avancé mais maintenant j'ai un autre problème: ma variable NOM ne passe pas.... voici les deux form: [code=php] <?php recherche dans 4 table mysql [ par laloire33150 ] Bonjour à tous, j'ai 4 tables de produits, et je voudrais en trouver un grâce à la référence voici mon code : [code=php] <?php $reference= $_POST['


    Nos sponsors


    Sondage...

    CalendriCode

    Février 2010
    LMMJVSD
    1234567
    891011121314
    15161718192021
    22232425262728

    Consulter la suite du CalendriCode

     
    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS
    Temps d'éxécution de la page : 0,577 sec (4)

    Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales