Affichage d'un select from

catseyes -  
 coolman -
bonjour,
je cherche à afficher les données d'une table.
j'ai donc le code :
<?php
			define('DB_SERVER', 'serveur'); // serveur mysql
			define('DB_SERVER_USERNAME', 'username'); // nom d'utilisateur
			define('DB_SERVER_PASSWORD', 'pass); // mot de passe
			define('DB_DATABASE', 'bddname'); // nom de la base
			$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,DB_SERVER_PASSWORD)
		or die('Impossible de se connecter : ' . mysql_error());
			mysql_select_db(DB_DATABASE, $connect);
			$sql = 'SELECT DISTINCT `Activite" FROM "shopping" WHERE \ "bar\" LIMIT 0, 30 ';
		$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
		$total = mysql_num_rows($result);

if($total) {
    // debut du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
 
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>Société</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Tel</u></b></td>';
      echo '<td bgcolor="#669999"><b><u>Adresse</u></b></td>';
      echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#CCCCCC">'.$row["Societe"].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row["Tel"].'</td>';
      echo '<td bgcolor="#CCCCCC">'.$row["Adresse"].'</td>';
      echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette catégorie';

mysql_free_result($result);

?>


Qui génère l'erreur suivante :

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home.8/p/a/u/paunight/www/barsTest.php on line 64
Erreur :

j'ai donc essayé un autre code :
<?php
			define('DB_SERVER', 'serveur'); // serveur mysql
			define('DB_SERVER_USERNAME', 'username'); // nom d'utilisateur
			define('DB_SERVER_PASSWORD', 'pass); // mot de passe
			define('DB_DATABASE', 'bddname'); // nom de la base
			$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,DB_SERVER_PASSWORD)
		or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
			mysql_select_db(DB_DATABASE, $connect);
			$sql = 'SELECT DISTINCT "Activite" FROM "shopping" WHERE \ "bar\" LIMIT 0, 30 ';
			$res = mysql_num_rows($req); 
			echo 'Il y a '.$res.' enregistrement(s) dans la rubrique bar.'; 
			while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
    echo '<b>'.$data['Societe'].' '.$data['Tel'].'</b> ('.$data['Adresse'].')';
    }  
			mysql_close($db);  
			?>


mais lui aussi me genère des erreurs :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home.8/p/a/u/paunight/www/bars.php on line 64
Il y a enregistrement(s) dans la rubrique bar.
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home.8/p/a/u/paunight/www/bars.php on line 66

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home.8/p/a/u/paunight/www/bars.php on line 71

Je pense que c'est ici un problème de syntaxe, mais pour l'erreur du premier code, je ne vois pas.

4 réponses

ACNet Messages postés 64 Statut Membre 14
 
Bonjour,

ta requête n'est pas valide.
que cherches tu à faire au juste ?

il faudrait faire quelque chose du type :

$sql = 'SELECT DISTINCT Activite FROM shopping WHERE `nom_du_champ`="bar" LIMIT 0, 30 ';

Stephane
0
catseyes
 
Bonjour stephane,
ben justement, le nom du champ c'est bar !
J'ai une table sql nommée shopping dans laquelle j'ai les champs : Id Societe Activite Contact Tel Fax Mail Adresse.

Je veux extraire ceux qui ont comme activité bar, et afficher le résultat dans un tableau dans une page php.
A priori, c'est un problème de syntaxe sql dans les deux cas.
0
ACNet Messages postés 64 Statut Membre 14
 
Excuse moi mais je ne comprends pas bien.. je présume que bar est la valeur du champ, et non son nom, non ?

D'après ta table, j'en déduis que bar est une valeur possible du champ activité, c'est bien ca ?

l'opérateur distinct permet d'éviter d'afficher plusieurs resultats dont le champ à la meme valeur donc "distinct activite" ne te donnerait qu'un seul résultat ayant pour activité "bar"

De plus, sachant que tu recherches les établissements, et non les différentes activités, le fait que le select porte sur le champ activité est inutile, puisque c'est la seule valeur que tu connaisses déjà avant même de faire la requête.

il faut simplement que tu fasses :

sql = 'SELECT * FROM shopping WHERE `Activite`="bar" LIMIT 0, 30 ';

Tu peux laisser le * si tu souhaites récupérer tous les champs, tu peux aussi choisir de ne récupérer que certains champs, si tu les specifie en les séparant par des virgules, à la place du *
0
coolman
 
<?php
$serveur="localhost";
$user="root";
$psw="";
$db="utilisateur";

@mysql_connect($serveur,$user,$psw) or die ("Connexion échouée");
@mysql_select_db($db) or die ("S&eacute,lectionéchouée");
$compte="select count (*) as total from photo";
$retour_total=" mysql_query($compte) or die (Erreur :'.mysql_error() )";
$donnees_total[]= mysql_fetch_assoc($retour_total);
$total=$donnees_total['total'];
$messageparpage=4;
$nombredepage=ceil($total/$messageparpage);
if(isset($_GET['page']))
{
$page_actuelle=intval($_GET['page']);
if($page_actuelle>$nombredepage)
{
$page_actuelle=$nombredepage;
}
}
else
{
$page_actuelle=1;
}
$premierentree=($page_actuelle-1)*$messageparpage;
$requet4="select * from photo order by idfoto desc LIMIT'$premierentree'.'$messageparpage'";
$retour="mysql_query($requete4) or die (Erreur :'.mysql_error() )";
while($donnees_messages[]=mysql_fetch_assoc($retour))
{
echo '<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">';
echo"<tr>";
echo"<td valign=\"top\" align=\"left\">";
echo$donnees_messages['nom'];echo"</td>";
echo"<td valign=\"top\" align=\"left\">";
echo$donnees_messages['prenom'];
echo"</td>";
echo"<td valign=\"top\" align=\"left\">";
echo$donnees_messages['nom_foto'];
echo"</td>";
echo"<td width=\"35%\" align=\"center\">";
?>
<table width="100%" height="100%">
<td valign="top" align="center"> <IMG border="0" width="200" height="200"style="border-color:#000000" SRC="image/<?php echo$result['nom_foto']; ?>" > </td>
</table>
<?php
echo'<p align="cent">Page:';
for($i=1;$i<=$nombredepage;$i++)
{
if($i==$page_actuelle)
{
echo"[$i] ";
}
else
{
?> <a href="album.php?page=<?php echo"$i"; ?>">
<?php echo"$i"; ?>
</a>
<?php
}
echo"</td></tr>";
}
}
echo"</table>";
echo"<br> <br> <div align=right>";
echo"<a href=\"ajoutimage.php\">Ajouter une photo à l'album</a>";
echo"</div>";
@mysql_close();
0