Comment afficher les résultats de plusieurs table à la fois

Résolu
issaconan Messages postés 43 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 8 juillet 2013 - 23 nov. 2010 à 12:21
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 - 24 nov. 2010 à 08:33
Bonjour,
J'ai un petit scripts qui marche très bien, en même temps je cherche développer et partager.
Voila c'est un scripts PHP qui affiche les résultats d'une table avec option de suppression multiple.
Moi ce que je veux faire c'est afficher les résultats de plusieurs table a la fois avec le nom de la table.
par exemple : table1,table2,table3,...
dans ma roquette les tables sont : partenaire1,partenaire2,...

voici le code et merci d'avance :
<?php
$host= "localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="location"; // Database name
$tbl_name="partenaire1"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);

$count=mysql_num_rows($result);


?>


 Gestion des voitures <form name ="form1" method="post" action="">
<table width="400" border="0" cellpadding="3" cellspacing="1" >
----,  </td>

Id,

Marque voiture,

Date début,

Date fin,

<?php
while($rows=mysql_fetch_array($result)){
?>

----

">,
<? echo $rows['id']; ?>,
<? echo $rows['marque_voiture']; ?>,
<? echo $rows['date_debut']; ?>,
<? echo $rows['date_fin']; ?>,

<?php
}
?>
----

,

<?
// Check if delete button active, start this
if(isset($_POST['delete'])){
for($i=0;$i<$count;$i++){
$del_id = $_POST['checkbox'][$i];$sql \"DELETE FROM $tbl_name WHERE id'$del_id'\";
$result = mysql_query($sql);
}

// if successful redirect to delete_multiple.php
if($result){
echo \"<meta http-equiv=\\"refresh\\" content=\\"0;URL=sup2.php\\">\";
}
}
mysql_close();
?>

</form>
</td>
</tr>
</table>

6 réponses

issaconan Messages postés 43 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 8 juillet 2013
23 nov. 2010 à 15:46
Slt,
Merci beaucoup l'ami pour ta réponse et ta solution.
J'ai utiliser "UNION" et ca marche fort bien.
voila le code :
$sql="SELECT * FROM partenaire1 
UNION ALL 
SELECT * FROM partenaire2
UNION ALL 
SELECT * FROM partenaire3
";
3
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
23 nov. 2010 à 13:24
Salut !

Je te donne plusieurs pistes, à toi de voir la meilleure pour toi :

Tu peux utiliser le mot clef SQL UNION ou bien encore utiliser la syntaxe SQL SHOW TABLE [LIKE Patern]. Avec la deuxième piste, tu vas devoir boucler sur tes résultats et ensuite faire tes requêtes sur le résultat courant.

Bref, je te laisse découvrir un peu par toi même, c'est pas trop compliqué :

voir UNION
voir [http://dev.mysql.com/doc/refman/5.0/fr/show-table-status.html SHOW TABLE [LIKE Patern]]

Et sinon il y a toujour l'ami Google

J'espère que ca t'aidera,

Bien à toi,

Le grand Jisay
0
issaconan Messages postés 43 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 8 juillet 2013
23 nov. 2010 à 15:52
J'ai pensé aussi à ajouter une colon "fournisseur" dans le tableau des résultats qui affiche le nom de la table pour connaitre d'où vient le résultats de chaque ligne.
Bon jusqu'à la voila le code :
<?php
$host= "localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="location"; // Database name



// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM partenaire1 
UNION ALL 
SELECT * FROM partenaire2
UNION ALL 
SELECT * FROM partenaire3
";

$result=mysql_query($sql);

$count=mysql_num_rows($result);


?>


 Gestion des voitures <form name ="form1" method="post" action="">
<table width="400" border="0" cellpadding="3" cellspacing="1" >
----,  </td>

Id,

Marque voiture,

Date début,

Date fin,

Fournisseur,

<?php
while($rows=mysql_fetch_array($result)){
?>

----

">,
<? echo $rows['id']; ?>,
<? echo $rows['marque_voiture']; ?>,
<? echo $rows['date_debut']; ?>,
<? echo $rows['date_fin']; ?>,
<? echo $rows['tbl_name']; ?>,

<?php
}
?>
----

,

<?
// Check if delete button active, start this
if(isset($_POST['delete'])){
for($i=0;$i<$count;$i++){
$del_id = $_POST['checkbox'][$i];$sql \"DELETE FROM $tbl_name WHERE id'$del_id'\";
$result = mysql_query($sql);
}

// if successful redirect to delete_multiple.php
if($result){
echo \"<meta http-equiv=\\"refresh\\" content=\\"0;URL=sup2.php\\">\";
}
}
mysql_close();
?>

</form>
</td>
</tr>
</table>

0
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
23 nov. 2010 à 16:07
De rien

Pense peut-être à mettre le sujet comme étant résolu, ca fera plaisir à certains

Bien à toi,

Le grand Jisay
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
issaconan Messages postés 43 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 8 juillet 2013
23 nov. 2010 à 16:37
J'ai pensé a faire ça mais je sais pas comment faire pour monter le drapeau de résolus, et comment poursuivre le développement du scripts.

Merci Le grand Jisay pour tes réponses
0
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
24 nov. 2010 à 08:33
Salut,

Tu dois normalement voir apparaître un bouton "réponse acceptée" sur ta page.

Bien à toi,

Le grand Jisay
0
Rejoignez-nous