Rechercher : dans
Par :

Affichage d'un select from

Dernière réponse le 5 jun 2008 à 21:40:42 catseyes, le 31 mai 2007 à 14:16:03 
 Signaler ce message aux modérateurs

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.
Configuration: Windows XP
Firefox 2.0.0.3

Meilleures réponses pour « affichage d'un select from » dans :
Afficher le nom des base de données Oracle VoirPour afficher le nom des bases de données Oracle ainsi que les données s'y référant, il suffit de lancer la commande : SELECT * FROM V$DATABASE;
MySQL - SELECT ... YESTERDAY (hier) VoirIl vous suffit d'utiliser la syntaxe suivante : SELECT * FROM maTable WHERE champ_date = DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 1 DAY) De la même façon pour sélectionner les enregistrements d'avant-hier : SELECT * FROM maTable...
SQL - Commande SELECT VoirLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la...
SQL - Sous-requêtes VoirExpression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...

1

ACNet, le 31 mai 2007 à 14:33:54

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 Conception - Edition de sites Internet

Répondre à ACNet

2

catseyes, le 31 mai 2007 à 15:01:27

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.

Répondre à catseyes

3

ACNet, le 31 mai 2007 à 15:10:57

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 * Conception - Edition de sites Internet

Répondre à ACNet

4

 coolman, le 5 jun 2008 à 21:40:42

<?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é,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();

Répondre à coolman