PHP SUR <SELECT>

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 : PHP SUR <SELECT>

par rolusseum » 20 janv. 2009, 02:51

En utilisant d'autres fonctions

$query = "SELECT * FROM genres";
$result = execute_requeteSQL($query);
//Tant qu'il y a un enregistrement, afficher une nouvelle ligne
while($val = mysql_fetch_array ($result )){
echo '<pre>';
echo $val ['genrelibelle'];
echo '</pre>';
}

par rolusseum » 20 janv. 2009, 02:41

Ta requête fonctionne directement sur la console mysql.
As-tu un message d'erreur lié à la connexion à la bd avec ton script php?

Comme tu développe en local, essaye éventuellement de mettre root pour $MySQL_User.
[php]
$connexion = mysqli_connect('localhost', 'root', '', 'catalogue')
or die ("Connexion au serveur impossible");
[/php]

Sinon essaye une requête très simple
$query = "SELECT * FROM genres";
$result = mysqli_query($connexion, $query) ;
while ($ligne = mysqli_fetch_assoc($result))
{
echo '<pre>';
echo $ligne['genrelibelle'];
echo '</pre>';
}

par Camille2005 » 19 janv. 2009, 19:24

Pour completer voici la table "genres" à partir de la console MySQL :

Image

par jojolapine » 19 janv. 2009, 14:30

Oups pardon, je suis pas très réveillé et je n'avais pas vu que le sujet commençait plus haut...
Donc essaye ce code, et dis nous ce que ça donne:
<?php

$connexion = mysqli_connect('localhost', '', '', 'catalogue')
 or die ("Connexion au serveur impossible");

$query = "SELECT DISTINCT genreid, genrelibelle FROM genres ORDER BY genrelibelle"; 
$result = mysqli_query($connexion, $query)
 or die ("Exécution de la requête impossible<br />Requête:".$query);

while ($ligne = mysqli_fetch_assoc($result))
    {
      echo '<pre>';
      print_r($ligne);
      echo '</pre>';
    }

?> 
ps: concernant l'ajout d'image sur le forum, il faut au préalable uploader l'image sur des sites tels que http://imageshack.us/ ,puis rajouter le liens içi ;)

par Camille2005 » 19 janv. 2009, 14:15

bonjour jojolapine,
l'erreur est que la liste des libelles des genres ne s'affiche pas
je t'ecris car un autre personne peut voir un problème que je ne voix pas.

D'avance merci :)

Ps : comment afficher dans le forum une image.

par jojolapine » 19 janv. 2009, 13:58

Et du coup qu'est-ce qui ne fonctionne pas?
Parce que là on peut pas trop t'aider...
Tu as un message d'erreur?

par Camille2005 » 19 janv. 2009, 13:46

Bonjour à toutes et à tous,
je ne trouve pas ou sont les erreurs de mon script PHP ci dessous,
pouvez vous m'aider ?

Car j'ai deux livres et ils ne m'ont pas aidés :(
- PHP et MySQL pour les nuls
- PHP 5 & MySQL 5 (campusPress)
<table>
<tr>
   <td width=150>
      Genre :
   </td>
   <td>
<?php

$connexion = mysqli_connect('localhost', '', '', 'catalogue')
 or die ("Connexion au serveur impossible");

$query = "SELECT DISTINCT genreid, genrelibelle FROM genres ORDER BY genrelibelle"; 
$result = mysqli_query($connexion, $query)
 or die ("Exécution de la requête impossible");

while ($ligne = mysqli_fetch_assoc($result))
    {
      extract($ligne);
      echo $genrelibelle;
    }

?>
   </td>
</tr>
</table>

par rolusseum » 12 janv. 2009, 20:34

Désolé de ne pas avoir précisé ma démarche.
Vérifie si ta requête select sql comporte des éléments
$query = "SELECT DISTINCT genreid, genrelibelle FROM genres ORDER BY genrelibelle,mysqli_num_rows($query )";
echo $query ;

mysqli_num_rows($query ) retourne le nombre d'enregistrements de la requête select.
En faisant echo $query ; tu pouvais vérifier si des enregistrements étaient bien là.
Donc, l'ajout de mysqli_num_rows($query ), c'était juste pour tester.
Voilà!

De toute manière ton souci persiste.
Est-ce que si tu affiche $row['genrelibelle'] sans utiliser la balise html select?

Table genres par console mySQL

par Camille2005 » 12 janv. 2009, 15:22

Merci de votre réponse,
mais j'ai essayé sur la console mysql et
la phrase sql et tout ce passe bien. Mais
pourquoi mettre la fonction mysqli_num_rows($query)
jusqu'après la requette sql. D'avance merci :)

<table>
<tr>
   <td width=150>
      Genre :
   </td>
   <td align="center">
       <select name="genre">
<?php

@ $db = mysqli_connect('localhost', '', '', 'catalogue');

if (mysqli_connect_errno())
   {
    echo 'Error : please try again later.';
    exit;
  }

$query = "SELECT DISTINCT genreid, genrelibelle FROM genres ORDER BY genrelibelle";

$result = mysqli_query($query, $db);

while ($row = mysql_fetch_array($result))
    {
     echo '<option> '.$row['genrelibelle'].' </option>';
    }
?>
    </select>  
   </td>
</tr>
</table>

par rolusseum » 12 janv. 2009, 14:41

Bonjour,

Vérifie si ta requête select sql comporte des éléments
$query = "SELECT DISTINCT genreid, genrelibelle FROM genres ORDER BY genrelibelle,mysqli_num_rows($query )"; 
echo $query ;

éventuellement, remplace mysql_fetch_assoc($result)) par mysql_fetch_array($result))

par Camille2005 » 12 janv. 2009, 13:57

Bonjour et merci pour vos premières aides,
mais je n'est toujours la liste <SELECT>.

D'avance merci
Camille2005 :)
<table>
<tr>
   <td width=150>
      Genre :
   </td>
   <td align="center">
       <select name="genre">
<?php

@ $db = mysqli_connect('localhost', '', '', 'catalogue');

if (mysqli_connect_errno())
   {
    echo 'Error : please try again later.';
    exit;
  }

$query = "SELECT DISTINCT genreid, genrelibelle FROM genres ORDER BY genrelibelle";

$result = mysqli_query($query, $db);

while ($row = mysql_fetch_assoc($result))
    {
     echo '<option> '.$row['genrelibelle'].' </option>';
    }
?>
    </select>  
   </td>
</tr>
</table>

par fab » 06 janv. 2009, 20:36

Effectivement il faut que tu remplaces ton for pour un while mais aussi tu as un problème avec ton mysql_query()

L'argument premier doit être la requete non la ressource et inversement pour le deuxième argument.
Ce deuxième paramètre et optionnel soit dit en passant.

par edison1986 » 06 janv. 2009, 16:21

Bonjour,

remplace ton "for" par un "while".

PHP SUR <SELECT>

par Camille2005 » 06 janv. 2009, 14:31

Bonjour à toutes et tous
et d'avant merci pour l'erreur et
désolé si ca fait doublon.

Voici le code qui n'affiche pas les differents genres :
<table>
<tr>
   <td width=150>
      Genre :
   </td>
   <td align="center">
       <select name="genre">
<?php

@ $db = mysqli_connect('localhost', '', '', 'catalogue');

if (mysqli_connect_errno())
   {
    echo 'Error : please try again later.';
    exit;
  }

$query = "SELECT DISTINCT genreid, genrelibelle FROM genres ORDER BY genrelibelle";

$result = mysqli_query($db, $query);

for ($row = mysql_fetch_assoc($result))
    {

     echo '<option> '.$row['genrelibelle'].' </option>';

    }
?>
    </select>  
   </td>
</tr>
</table>