afficher plusieur donnee d'une base msql

Eléphant du PHP | 150 Messages

23 mai 2011, 15:19

bonjour,

je souhaiterai afficher plusieur donnée d'une table msql


je souhaiterai faire apparaître plusieurs "$content" de ma table mais pas a la suite ni dans un ordre précis ex: celui de l'id 1 en dessous celui de l'id 5 en dessous celui de l'id 15 etc

j'ai essayer en suivant quelque tuto mai aucun que j'ai trouver me permet de faire ceci



<?php
// je me connecte à la base
$base = mysql_connect ('localhost', 'root', '')or die("Impossible de se connecter : " . mysql_error()); 
 
mysql_select_db ('mabase', $base) or die ('Impossible de sélectionner la base de données : ' . mysql_error()) ;
  

$titre = "titre";
$content = "content";
$table = "contenue";
$id1 = "1";
$id5 = "5";
$id15 = "15";

// je crée la requête SQL
$sql ="SELECT * FROM $table WHERE id ";

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

// on fait une boucle qui va faire un tour pour chaque enregistrement
WHILE($data = mysql_fetch_assoc($req))

// on affiche les donnée

echo ($data["$content"]).'</br>'.($data["$titre"]);


mysql_close();

?>





par la meme ocasion est ce possible de se conecter a plusieur table dans une meme page ex



?php
// je me connecte à la base
$base = mysql_connect ('localhost', 'root', '')or die("Impossible de se connecter : " . mysql_error()); 
 
mysql_select_db ('mabase', $base) or die ('Impossible de sélectionner la base de données : ' . mysql_error()) ;





// je crée la requête SQL
$sql ="SELECT * FROM table_2 WHERE id ";

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

mysql_close();

?>

// j'affiche les info dont j'ai besoin
//et  je me connecte a une autre table pour afficher d'autre donnée contenue dans d'autre table ex 

?php
// je me connecte à la base2
$base2 = mysql_connect ('localhost', 'root', '')or die("Impossible de se connecter : " . mysql_error()); 
 
mysql_select_db ('mabase', $base2) or die ('Impossible de sélectionner la base de données : ' . mysql_error()) ;


// je crée la requête SQL 2
$sql2 ="SELECT * FROM table_1 WHERE id ";

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

mysql_close();



merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

23 mai 2011, 19:34

Une seule connexion à la page pour tout le script suffit.
Tu peux réutiliser la même connexion pour plusieurs requêtes.

Pour ton souci de requête regarde la clause IN en sql ou bien tout simplement la syntaxe du WHERE avec une condition OR...
Bref potasser un peu le langage SQL ne te ferrai pas de mal pour mieux comprendre. ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 mai 2011, 19:35

Pour que ta requête retourne plusieurs enregistrements spécifiques, il te faut spécifier les identifiants que tu veux récuperer :
SELECT .... FROM .... WHERE (id = 1 OR id = 15 OR id = 5)
-- ou bien 
SELECT .... FROM .... WHERE id IN (1, 15, 5)
Pour l'ordre tu peux utiliser la clause ORDER BY qui te permet de spécifier les colonnes de tri (ou RAND() pour un tri aléatoire)

Quant à ta deuxième question... j'ai du mal à la comprendre ce que tu veux faire... du coup :
- Oui, on peut se connecter à plusieurs bases de données différentes avec php
- Oui, on peut avec une seule connexion interroger plusieurs tables d'une même base

Edit : ah ben grillé...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...