non - PHP - Programmation
Marsh Posté le 08-08-2012 à 08:41:17
normal que les parenthèses soient remplacées par des #
Merci aussi de mettre un titre explicite au topic.
Pour ton pb, il faut faire des jointures entre les tables concernées. D'une manière générale, apprendre le sql serait une bonne idée
Ex : where etat != "BAE" and etat !="AN"'; peut devenir avantageusement where etat NOT IN ("BAE", "AN"');
Marsh Posté le 08-08-2012 à 19:07:00
pour les # j'ai copier mon code avec des parenthese mais jcp pk sont transformés... koi faire si j n'ai pas des jointures directe entre les 2 table car j'ai juste qqes tables extraites d'une base de donnée d'une societé et j peux pas avoir tte la base avec tous les liens
Marsh Posté le 09-08-2012 à 19:08:14
Ca serait bien que tu nous postes le MCD des tables que t'as actuellement de dispo...
Marsh Posté le 10-08-2012 à 11:26:58
Titre ?
asmarouis a écrit : pour les # j'ai copier mon code avec des parenthese mais jcp pk sont transformés... |
Utilises la balise code (bouton C/C++) ou fixe
<?php |
Ensuite à ta ligne
// on lance la requête #mysql_query# et on impose un message d'erreur si la requête ne se passe pas bien #or die# |
Il manque justement après le "or die" donc pas top pour le débug.
Ensuite stocké des commandes dans des variables, pas top non plus. Donc :
// lancement de la requete |
Devient :
// lancement de la requete |
Enfin tu stockes directement des morceaux entiers de bases dans des variables ?
Marsh Posté le 10-08-2012 à 21:34:55
bardiel a écrit :
|
hormis les quotes qui manquent à tes mysql_select (oui ça attend un String ) je pense que stocker les requêtes en variable n'est pas une si mauvaise idée pour débugger... ça permet de construire la requête, même si dans le cas que tu mets en évidence ça ne sert effectivement pas plus que ça.
Marsh Posté le 10-08-2012 à 23:59:28
C'est surtout la façon de nommer les variables qui prête à confusion qui est à souligner, le procédé visant à stocker la requête dans une variable est comme le souligne NewsletTux pas si dénué d’intérêt.
Mais nommer la première $sql, puis derrière donner des noms qui laissent croire que le contenu est le résultat de la requête n'est pas vraiment une bonne méthode.
Marsh Posté le 13-08-2012 à 12:51:08
NewsletTux a écrit : hormis les quotes qui manquent à tes mysql_select (oui ça attend un String ) |
Hmmmfectivement, mais ça fait un moment que je n'ai pas fait de PHP
Marsh Posté le 08-08-2012 à 00:47:56
j'ai un probleme.. je veux afficher des numeros de telephone et leur zone mais les deux table n'ont pas un lien direct il y en a 2 autre table par intermediare ; lors de l'affichage tous les num apparaissent mais pour les zone seulement la 1ere zone s'affiche et les autres non. pourriez vous m'aider c'est mon code:
<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', ''#;
mysql_select_db #'tunisie_telecom', $base# ;
?>
<table border=4 bgcolor="#51A8FF" st#le="border-color: #003162">
<TR><th>Numero</th><th>Ref_Derangement</th><th>Etat</th><th>Zone</th></TR>
<?php
// lancement de la requete
$sql = 'SELECT numero,refderangement,etat FROM derangementgis where etat != "BAE" and etat !="AN"';
$num_tel ='select num_tel_du,num_tel_au,rg_id from quotas_central_lt';
$mslink='select mslink,ccl from rg';
$ccl='select code_ccl,nom_ccl from ccl ';
// on lance la requête #mysql_query# et on impose un message d'erreur si la requête ne se passe pas bien #or die#
$req = mysql_query#$sql# ;
$req1=mysql_query#$num_tel#;
$req2=mysql_query#$mslink#;
$req3=mysql_query#$ccl#;
// on recupere le resultat sous forme d'un tableau
while#$data = mysql_fetch_array#$req##
{
$num=$data#'numero'#;
$eta=$data#'etat'#;
$ref=$data#'refderangement'#;
// on affiche les résultats
echo '<tr><td width="300" st#le="border-color: #003162; "><div align="center">',$num,'<td width="300" st#le="border-color: #003162; "><div align="center">',$ref,'</td><td width="300" st#le="border-color: #003162; "><div align="center">',$eta,'</td>';
while #$data1 = mysql_fetch_array#$req1##
{
if#$num>=$data1#'num_tel_du'# and $num<=$data1#'num_tel_au'##
{
while #$data2 = mysql_fetch_array#$req2##
{
if#$data2#'mslink'#==$data1#'rg_id'##
{
while #$data3 = mysql_fetch_array#$req3##
{
if#$data3#'code_ccl'#==$data2#'ccl'##
{
$zone=$data3#'nom_ccl'#;
echo'<td width="300" st#le="border-color: #003162; "><div align="center">',$zone,'</td></tr>';
}
}
}
}
}
}
}
mysql_close ##;
?>