Comment relier tables mysq pour afficher

chris72 -  
 chris72 -
Bonjour,je debute dans la programmation et j'ai quelques soucis.J'aimerais savoir comment afficher dans un tableau des donnés de trois base de données mysql?

moi j'ai

service/ Date /num_ds /Description /Appelant /Appel en / Date de cloture /Actions

service vient d'une base de donnée

appelant vient d'une autre base

et le reste d'une autre
A voir également:

15 réponses

Utilisateur anonyme
 
Bonjour,
la requete peut être la suivante :

select base1.service, base2.appelant, base3.lereste from base1,base2,base3
et eventuellement where quelquechose order by autrechose
0
chris72
 
re!

j'ai ecrit sa:

$requeteSQL="SELECT service.s_nom,appelant.nom,ds.date,ds.num_ds,ds.description,ds.suivi,ds.cloture FROM services,demandeur,ds"
$resultat=mysql_query($requeteSQL);

et quand je lance wamp j'ai cette erreur:

Parse error: parse error, unexpected T_VARIABLE in C:\wamp\www\DS\index.php on line 113


la je capte pas trop! merci de ton aide!
0
chris72 > chris72
 
heu c t le ; dsl mais il maffiche ma page mais o lieu du tableaun il me met erreur!!! dsl pour le poste d'avant!
0
Utilisateur anonyme
 
Bonjour,

c'est quoi la ligne 113
si ce que tu as écrit est typiquement ce que tu notes dans ton message, il manque un ";" après ds"
0
chris72
 
nan l'erreur ligne 113 c t le ; mais depuis que j'ai corrigéil me mais erreur c le echo que g ecrit jte met tte le code si tu as le temps de le decripté ^^. merci bcp de ton aide car la je suis en stage et g ce programme a faire enfin bref! tien voila le code:

<html>
<head>
<title>Gestion des demandes se service et SAV extérieurs</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.tablesorter.js"></script>
<style type="text/css">
* {
font-family:verdana;
font-size:11px;
}
input[tupe=text], select {
width:200px;
}
table {
border-collapse:collapse;
border-bottom:1px solid #000;
}
td, th {

text-align:center;
padding:4px 8px 4px 8px;
border:1px solid #000;
}
th {
color:#FFF;
background-color:#269;
cursor:pointer;
}
a, a:visited {
color:#000;
text-decoration:none;
}
a:hover {
color:#269;
text-decoration:underline;
}
</style>
<script type="text/javascript">
function confirmDelete(id){
result=confirm('Etes-vous sûr de vouloir supprimer cette entrée tu va pas faire une connerie dis hein ?');
if(result){
window.location='delete.php?id='+id;
}
}
$(function() {
$("#table").tableSorter();
$("#table-init-sort").tableSorter({
//c'est la date qui trie les entrées
sortColumn: 'date'
});
});
</script>
</head>
<body>
<div>

<div align="center">
<center>
<div align="center">
<center>
<table border="1">
<tr>
<td width="220" height="53">
<p><b><font size="4"><a href="/ds/ajoutmodifcontacts.php"><span style="background-color: #FFFF00">Ajout
d'un nouveau contact</span></a></font></b></p>
</td>
<td width="220" height="53"><span style="background-color: #FF0000"><b><font size="4"><a href="/ds/ajoutmodif.php">Ajout
d'une nouvelle demande se service</a></font></b></span></td>
<td width="220" height="53">
<p><b><a href="/ds/ajoutmodifservices.php"><font size="4"><span style="background-color:rgb(0,204,0);">Ajout
d'un nouveau service</span></font></a></b></p>
</td>
</tr>
<tr>
<td width="220" height="83">
<p><b><font size="4"><a href="/ds/contact.php"><span style="background-color: #FFFF00">Lister/modifier/supprimer
la liste des contacts </span></a></font></b></p>
</td>
<td width="220" height="83">
<p><a href="http://assistance.ac-nantes.fr/ECARE/accueilEcareR2.html"target="_blank"><b><font size="4"><span style="background-color:red;">Aller
directement à la plate forme d'assistance Rectorale</span></font></b></a></p>
</td>
<td width="220" height="83">
<p><b><a href="/ds/contactservices.php"><font size="4"><span style="background-color:rgb(0,204,0);">Lister/modifier/supprimer
la liste des services </span></font></a></b></p>
</td>
</tr>
</table>
</center>
<p>La liste des demandes de services</p>

</div>

</center>
</div>



</div>


<?php
$date = date("d-m-Y");
$heure = date("H:i");
Print("Nous sommes le $date et il est $heure");

mysql_connect('localhost','root','')or die('Error connect');
mysql_select_db('ds');
//$requeteSQL="SELECT * FROM ds";
$requeteSQL="SELECT service.s_nom,ds.date,ds.num_ds,ds.description,appelant.nom,ds.suivi,ds.cloture FROM services,demandeur,ds";
$resultat=mysql_query($requeteSQL);
if($resultat){
// \t = tabulation
//\r\n = retour à la ligne
// mais uniquement dans le code source du navigateur
echo '<table id="table">'."\r\n";
echo "\t".'<thead><tr>'."\r\n";
echo "\t"."\t".'<th>service</th>'."\r\n";
echo "\t"."\t".'<th>Date</th>'."\r\n";
echo "\t"."\t".'<th>num_ds</th>'."\r\n";
echo "\t"."\t".'<th>Description</th>'."\r\n";
echo "\t"."\t".'<th>Appelant</th>'."\r\n";
echo "\t"."\t".'<th>Appel en </th>'."\r\n";
echo "\t"."\t".'<th>Date de cloture</th>'."\r\n";
echo "\t"."\t".'<th colspan="2">Actions</th>'."\r\n";
echo "\t".'</tr></thead>'."\r\n";
while($data=mysql_fetch_array($resultat)){
echo "\t".'<tr>'."\r\n";
echo "\t"."\t".'<td>'.$data['service'].'</td>'."\r\n";
echo "\t"."\t".'<td>'.$data['date'].'</td>'."\r\n";
echo "\t"."\t".'<td>'.$data['num_ds'].'</td>'."\r\n";
echo "\t"."\t".'<td style="width=200PX;">'.$data['description'].'</td>'."\r\n";
echo "\t"."\t".'<td>'.$data['appelant'].'</td>'."\r\n";
echo "\t"."\t".'<td style="background-color:';
echo ($data['suivi']=='En cours')? '#F00' : '#0F0';
echo ';" >'.$data['suivi'].'</td>'."\r\n";
echo "\t"."\t".'<td>'.$data['cloture'].'</td>'."\r\n";
echo "\t"."\t".'<td style="border:0;">> <a href="ajoutmodif.php?id='.$data['id'].'">Modifier</a></td>'."\r\n";
echo "\t"."\t".'<td style="border:1px solid #000;border-top:0;border-bottom:0;">> <a href="javascript:confirmDelete('.$data['id'].');">Supprimer</a></td>'."\r\n";
echo "\t".'</tr>'."\r\n";
}
echo '</table>'."\r\n";
}else{
echo 'Erreur';
}
?>

</body>
</html>
0
Utilisateur anonyme
 
que dit le résultat ? message stp

donnes moi un extrait de ta base de données ( la structure et une ligne)
0
Utilisateur anonyme
 
ligne 138

echo "\t"."\t".'<td style="border:0;">> <a href="ajoutmodif.php?id='.$data['id'].'">Modifier</a></td>'."­;\r\n";

______________________________ici double >>
0
chris72
 
ok merci pour les doubles >>

tien voila ma base de données:
--
-- Structure de la table `demandeur`
--

CREATE TABLE `demandeur` (
`id` tinyint(235) unsigned NOT NULL auto_increment,
`nom` text NOT NULL,
`tel` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=30 ;

--
-- Contenu de la table `demandeur`
--

INSERT INTO `demandeur` (`id`, `nom`, `tel`) VALUES
(27, 'mieuzet', '0243589635'),
(28, 'rousseau', '7854256581');

-- --------------------------------------------------------

--
-- Structure de la table `ds`
--

CREATE TABLE `ds` (
`id` mediumint(255) unsigned NOT NULL auto_increment,
`service` text NOT NULL,
`date` varchar(32) NOT NULL default '',
`num_ds` varchar(32) NOT NULL,
`description` text NOT NULL,
`appelant` text NOT NULL,
`suivi` varchar(32) NOT NULL,
`cloture` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=39 ;

--
-- Contenu de la table `ds`
--

INSERT INTO `ds` (`id`, `service`, `date`, `num_ds`, `description`, `appelant`, `suivi`, `cloture`) VALUES
(1, 'radec', '12-03-08', '96666', 'blabla', 'rousseau', 'en cours', '');

-- --------------------------------------------------------

--
-- Structure de la table `services`
--

CREATE TABLE `services` (
`id` smallint(6) NOT NULL auto_increment,
`s_nom` text NOT NULL,
`s_prenom` text NOT NULL,
`s_tel` varchar(14) NOT NULL,
`s_divers` text NOT NULL,
`s_fax` varchar(10) NOT NULL,
`s_interlocuteur` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Contenu de la table `services`
--

INSERT INTO `services` (`id`, `s_nom`, `s_prenom`, `s_tel`, `s_divers`, `s_fax`, `s_interlocuteur`) VALUES
(1, 'symantec', '', '0243278906', '', '0356987452', ''),
(2, 'radec', 'paul', '0354896247', 'rien du tout', '4523654055', 'bobo'),
(3, 'tototo', 'cccc', '0544444', 'iiiu', '7527', 'yyy'),
(4, 'chris', 'topher', '36985055', 'popo', '78545958', 'personne'),
(5, 'totoioio', 'po', '0289635874', 'lditdfl', '123', 'lmpo');
0

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

Posez votre question
chris72
 
pour ta question:
que dit le résultat ? message stp

donnes moi un extrait de ta base de données ( la structure et une ligne) JL, m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail

il me met erreur!

cela vient de mon:

}else{
echo 'Erreur';
}

est ce tu voit un peut se que sa pourrait etre ou pas ?
0
Utilisateur anonyme
 
je suis sur le coup, il y a beaucoup de chose à modifier, ne désespère pas.
0
chris72
 
merci bcp vraiment, la c un peut la galere je relis tt mes codes. dit moi par contre le tableau affiche se que je rempli dans un formulaire qui s'appel ajoutmodif.php et la dans ce formulaire j'ai besoin du nom des services de ma table service et du nom de l'appelant qui est dans ma table appelant et le reste de l'otre table. tu voit ske jveut dire?
0
Utilisateur anonyme
 
J'en suis là

<html>
<head>
<title>Gestion des demandes se service et SAV extérieurs</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.tablesorter.js"></script>
<style type="text/css">
* {
font-family:verdana;
font-size:11px;
}
input[tupe=text], select {
width:200px;
}
table {
border-collapse:collapse;
border-bottom:1px solid #000;
}
td, th {

text-align:center;
padding:4px 8px 4px 8px;
border:1px solid #000;
}
th {
color:#FFF;
background-color:#269;
cursor:pointer;
}
a, a:visited {
color:#000;
text-decoration:none;
}
a:hover {
color:#269;
text-decoration:underline;
}
</style>
<script type="text/javascript">
function confirmDelete(id){
result=confirm('Etes-vous sûr de vouloir supprimer cette entrée tu va pas faire une connerie dis hein ?');
if(result){
window.location='delete.php?id='+id;
}
}
$(function() {
$("#table").tableSorter();
$("#table-init-sort").tableSorter({
//c'est la date qui trie les entrées
sortColumn: 'date'
});
});
</script>
</head>
<body>
<div>

<div align="center">
<center>
<div align="center">
<center>
<table border="1">
<tr>
<td width="220" height="53">
<p><b><font size="4"><a href="/ds/ajoutmodifcontacts.php"><span style="background-color: #FFFF00">Ajout
d'un nouveau contact</span></a></font></b></p>
</td>
<td width="220" height="53"><span style="background-color: #FF0000"><b><font size="4"><a href="/ds/ajoutmodif.php">Ajout
d'une nouvelle demande se service</a></font></b></span></td>
<td width="220" height="53">
<p><b><a href="/ds/ajoutmodifservices.php"><font size="4"><span style="background-color:rgb(0,204,0);">Ajout
d'un nouveau service</span></font></a></b></p>
</td>
</tr>
<tr>
<td width="220" height="83">
<p><b><font size="4"><a href="/ds/contact.php"><span style="background-color: #FFFF00">Lister/modifier/supprimer
la liste des contacts </span></a></font></b></p>
</td>
<td width="220" height="83">
<p><a href="http://assistance.ac-nantes.fr/ECARE/accueilEcareR2.html"target="_bla­nk"><b><font size="4"><span style="background-color:red;">Aller
directement à la plate forme d'assistance Rectorale</span></font></b></a></p>
</td>
<td width="220" height="83">
<p><b><a href="/ds/contactservices.php"><font size="4"><span style="background-color:rgb(0,204,0);">Lister/modifier/supprimer
la liste des services </span></font></a></b></p>
</td>
</tr>
</table>
</center>
<p>La liste des demandes de services</p>

</div>

</center>
</div>

</div>

<?php
$date = date("d-m-Y");
$heure = date("H:i");
Print("Nous sommes le $date et il est $heure");
echo "<br><br>";
mysql_connect('localhost','root','')or die('Error connect');
mysql_select_db('ds');
//$requeteSQL="SELECT * FROM ds";
$requeteSQL="SELECT services.s_nom as services,ds.date,ds.num_ds,ds.description,ds.appelant,ds.suivi,ds.cloture FROM services,demandeur,ds";

$resultat=mysql_query($requeteSQL);
//print_r($resultat);echo "<br>";
$nblignes=mysql_num_rows($resultat);
//echo "nb ligne ".$nblignes."<br>";
if ($nblignes>0){
// \t = tabulation
//\r\n = retour à la ligne

// mais uniquement dans le code source du navigateur
echo '<center><table id="table">'."\r\n";
echo "\t".'<thead><tr>'."\r\n";
echo "\t"."\t".'<th>service</th>'."\r\n";
echo "\t"."\t".'<th>Date</th>'."\r\n";
echo "\t"."\t".'<th>num_ds</th>'."\r\n";
echo "\t"."\t".'<th>Description</th>'."\r\n";
echo "\t"."\t".'<th>Appelant</th>'."\r\n";
echo "\t"."\t".'<th>Appel en </th>'."\r\n";
echo "\t"."\t".'<th>Date de cloture</th>'."\r\n";
echo "\t"."\t".'<th colspan="2">Actions</th>'."\r\n";
echo "\t".'</tr></thead>'."\r\n";
for ($i=0;$i<$nblignes;$i++){
$ligne = mysql_fetch_row($resultat);

echo "\t".'<tr>'."\r\n";
echo "\t"."\t".'<td>'.$ligne['0'].'</td>'."\r\n";
echo "\t"."\t".'<td>'.$ligne['1'].'</td>'."\r\n";
echo "\t"."\t".'<td>'.$ligne['2'].'</td>'."\r\n";
echo "\t"."\t".'<td style="width=200PX;">'.$ligne['3'].'</td>'."\r\n";
echo "\t"."\t".'<td>'.$ligne['4'].'</td>'."\r\n";
echo "\t"."\t".'<td style="background-color:';
echo ($ligne['5']=='En cours')? '#F00' : '#0F0';
echo ';" >'.$ligne['5'].'</td>'."\r\n";
echo "\t"."\t".'<td>'.$ligne['6'].'</td>'."\r\n";
echo "\t\t<td style='border:0';> <a href='ajoutmodif.php?id=".$i.">Modifier</a></td>\r\n";
echo "\t\t<td style='border:1px solid #000;border-top:0;border-bottom:0;'> ";
echo "<a href='javascript:confirmDelete(".$i.");'>Supprimer</a></td>\r\n";
echo "\t</tr>\r\n";
}
echo "</table></center>\r\n";

}else{
echo 'Erreur';
}
?>

</body>
</html>
0
Utilisateur anonyme
 
as-tu essayé ça, il manque la fermeture de la dernière colonne !
0
chris72
 
ouais merci g essayer et il me met ceci:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\wamp\www\DS\index.php on line 148

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\DS\index.php on line 148
0
Utilisateur anonyme
 
echo "<a href='javascript:confirmDelete(".$i.");'>Supprimer</a></td>\r\n";

c'est le &quote; généré qui ne va pas.

il mabque aussi la colonne modifier mais je suis dessus
il se pass des choses étranhes : j'affiche cette colonne qu'en codant deux fois l'echo ?????
0
chris72
 
j'ai réécri sa j'ai sa maintenant:

echo "\t"."\t".'<td style="border:1px solid #000;border-top:0;border-bottom:0;"> <a href="javascript:confirmDelete('.$data['id'].');">Supprimer</a></td>'."\r\n";
echo "\t".'</tr>'."\r\n";
}
echo '</table>'."\r\n";
}else{
echo 'Erreur';
}

tu me dit ke tu arrive a afficher une colonne en codant 2 fois l'echo

detail un peut stp. mais tu a lu ce que j'ai envoyé tt a l'heure?

sur le formulaire?
0
Utilisateur anonyme
 
le code qui va bien est là

https://www.cjoint.com/?dmmTWDiWdP
faut juste lui changer de nom
0
chris72
 
merci bcp sa marche^^!

le probleme c'est que je n'arrive pas remplir ma table "ds" avec mon formulaire qui s'appel ajoutmodif.php car des données a prendre de deux tables différentes et je doit enregistrer le tt dans une tables puis l'afficher dans le tableau que tu a refais! tu voit un peut le truc ou pas car moi je nage pour tt te dire!
0
chris72
 
tiens si tu veut bien encore m'aider, je te file mon php "ajoutmodif" car je suis un peut perdu pour etre franc!

https://www.cjoint.com/?dmnxQcS3w1

ce serait gentil de m'aider!
0
Utilisateur anonyme
 
Il faut aussi que je travaille un peu.

Il y a des choses qui ne sont pas "au carré" dans le truc précédent en effet en cliquant sur modifier ou supprimer, on envoie le numéro de ligne et pas le id de l'enregistrement -> à corriger

ce que tu envoies est un gros fichier, il faut donc savoir ce qui ne va pas. Dans un premier temps inspires toi de ce que j'ai écrit.
et pour t'aider :
quand tu récupères des données dans un tableau; exemple

$resultat=mysql_query($requeteSQL);

fais

echo "<br>"; print_r($resultat); echo "<br>";
tu verras ainsi ce que tu récupères et tu verras que dans ce que tu as écrit le nom des varaibles n'est pas tout à faite celui que tu attends.
0
chris72
 
oki ^^ merci pour ton aide et merci pour l'astuce pour voir car c vrai que pour le debogage avec php c'est pas facile.bon apres midi. @+
0
Utilisateur anonyme > chris72
 
autre truc vérifies que ce que je t'ai envoyé correspond à ce que tu veux. car on affiche plusieurs lignes mais il n'y a qu'un enregistrement dans la base ds ...
entre demandeur, ds et services je ne sias pas bien comment tu articules tout ça...(en fonction de tes spécifications)


essaies d'avancer et demnades moi des truces ponstuuellemnt, je ne peux pas tout revoir ni ré écrire
0
chris72 > Utilisateur anonyme
 
ok c genti. je regarde deja je prend le temps car je tape un peut trop vite et souvent je laisse pleins d'erreur!^^ encore merci @+
0
Utilisateur anonyme > chris72
 
la requête sql doit être
$requeteSQL="SELECT services.s_nom as services,ds.date,ds.num_ds,ds.description,ds.appelant,ds.suivi,ds.cloture,ds.id FROM services,demandeur,ds";

et le $i pour modifier et supprimer remplacer par $ligne['7'],
si bien sîr ce que j'ai compris est bon
0
chris72 > Utilisateur anonyme
 
par contre la ligne que ta mit tu parle pour mon formulaire "ajoutmodif"?
0
Utilisateur anonyme
 
déjà sépares tes deux fonctions
une pour ajouter et une pour modifier car en plus ce ne sera pas la même requête SQL
ajout = insert
modif = update

dans les deux cas
un formulaire pour récperer les données qui renvoit sur un fichier php qui fait l'ajout ou la modif.

bien sûr que les commentaires sont important.
0
chris72
 
ok merci pour t conseils. dis moi pour mon formulaire si je reprend ta requete sql:

$requeteSQL="SELECT services.s_nom as services,ds.date,ds.num_ds,ds.description,ds.appelant,ds.suivi,ds.cloture,ds.id FROM services,demandeur,ds";

et que ensuite je met sa
$resultat=mysql_query($requeteSQL);
if($resultat){
while($data=mysql_fetch_array($resultat)){
$type=$data['service'];
$date=$data['date'];
$num_ds=$data['num_ds'];
$description=$data['description'];
$appelant=$data['appelant'];
$montant=$data['suivi'];
$cloture=$data['cloture'];
}
}else{
echo 'Erreur';
exit;
}

je dois rajouter les champ des tables de la requete sql? :

$requeteSQL="SELECT services.s_nom as services,ds.date,ds.num_ds,ds.description,ds.appelant,ds.suivi,ds.cloture,ds.id FROM services,demandeur,ds";
0
Utilisateur anonyme
 
$resultat=mysql_query($requeteSQL);
if($resultat){
while($data=mysql_fetch_array($resultat)){

ici qu'as-tu dans $data ?
echo "<pre>"; print_r($data); echo "</pre>";

$type=$data['service'];
$date=$data['date'];
$num_ds=$data['num_ds'];
$description=$data['description'];
$appelant=$data['appelant'];
$montant=$data['suivi'];
$cloture=$data['cloture'];
}
}else{
echo 'Erreur';
exit;
}
0
chris72
 
c une variable tempo. pour tt te dire ce programme a été commencer par quelqu'un d'autre et comme il a plus le temps j'ai repris a sa place donc je lit pour assimiler les codes. mais comme mon bouton ajouter je ne le voit plus g un bouton modifier a la place et il se passe rien! en gros c le bazar. :(
0
Utilisateur anonyme
 
Alors le meiux est que tu écrives toi même en fonction de ce que tu veux faire.
Reprendre les codes de qqun d'autre est plus compliqué car il faut s'impreigner de ce que l'autre a ou aurait voulu faire.
0
chris72
 
slt je réécris le code sur un nouveau formulaire php et pour le moment tt va bien merci de ton aide je met des commentaire et je test plus souvent et tout va pour le moment @++
0