[php] Pb requete sql et condition
Yull Master
Messages postés
46
Statut
Membre
-
Yull Master Messages postés 46 Statut Membre -
Yull Master Messages postés 46 Statut Membre -
Salut,
Je vais tenter de faire court et simple :
J'ai deux tables SQL :
1- Individus composé de 2 champs : Num_ind, Nom_ind
2- Amis composé de 3 champs : ID, Ind_amis, Num_amis
Ind_amis etant la clé etrangere de Num_ind. En gros Num_ind est amis avec les Num_amis quand Num_ind=Ind_amis.
J'ai une page ou je resors chaque membre insrit meme s'il n'est pas amis avec la personne logué.
J'ai ajouter un p'tit checkbox, devant chaque nom de membre, qui doit etre coché lorsqu'il y a le liens d'amité avec la personne logué.
le probleme est que je ne parviens pas a faire cette deniere chose.
je remercis par avance ceux qui tenterons de m'aider
Je vais tenter de faire court et simple :
J'ai deux tables SQL :
1- Individus composé de 2 champs : Num_ind, Nom_ind
2- Amis composé de 3 champs : ID, Ind_amis, Num_amis
Ind_amis etant la clé etrangere de Num_ind. En gros Num_ind est amis avec les Num_amis quand Num_ind=Ind_amis.
J'ai une page ou je resors chaque membre insrit meme s'il n'est pas amis avec la personne logué.
J'ai ajouter un p'tit checkbox, devant chaque nom de membre, qui doit etre coché lorsqu'il y a le liens d'amité avec la personne logué.
le probleme est que je ne parviens pas a faire cette deniere chose.
je remercis par avance ceux qui tenterons de m'aider
A voir également:
- [php] Pb requete sql et condition
- Excel cellule couleur si condition texte - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Condition et excel - Guide
- Logiciel sql - Télécharger - Bases de données
6 réponses
Hop voici le code de ma page :
$retourliste = mysql_query("SELECT Nom_ind, Num_ind FROM individu WHERE Num_ind<>1 and Num_ind<>'$numa' ORDER BY Num_ind DESC LIMIT " . $premierlisteAafficher . ', ' . $nombreDelistesParPage); $retourliste2 = mysql_query("SELECT Nom_ind, Num_amis, Num_ind, Ind_amis FROM individu, amis WHERE Num_ind=Num_amis AND Num_ind<>'$numa' AND Ind_amis='$numa' ORDER BY ID DESC LIMIT " . $premierlisteAafficher . ', ' . $nombreDelistesParPage); while ($donneesliste2 = mysql_fetch_array($retourliste2)) { while ($donneesliste = mysql_fetch_array($retourliste)) { $xa = $donneesliste['Num_ind']; if ($donneesliste['Num_ind'] = $donneesliste2['Num_ind']) -----------> c'est sur cette condition que je ne sais quoi mettre { ?> <p> <input type="checkbox" name="amis" id="ami" CHECKED /> <? } else { ?> <input type="checkbox" name="amis2" id="ami2" /> <? } ?> <a href="javascript:void(0)" onClick="window.open('View.php?numv=<? echo $xa ?>',null,'width=815,height=800, status=yes, directories=yes, toolbar=yes, location=yes, menubar=yes, scrollbars=yes, resizable=yes');"><? echo $donneesliste['Nom_ind']; ?></a>
Bonjour,
Apparament un individu peut avoir plusieurs amis...
Ton truc est bancal a la base.
Ta table ami doit comporter 2 champs : personne1, personne2.
dans chacun de ses 2 champs tu y mets l'id de chaque amis.
Ensuite pour en revenir a ton souci de case a coché : de memoire un champs input (a mettre dans une page envoyé en post)
Et une page php ou tu recupere le test ...
Si tu veux tester avec plusieurs remplace le 1 par un $i.
<input type=checkbox name='ami1' value=1>toto</input>
<?php
if ($_POST['ami1']==1) echo "ami avec toto";
else echo "m'en fou suis bien seul";
?>
Apparament un individu peut avoir plusieurs amis...
Ton truc est bancal a la base.
Ta table ami doit comporter 2 champs : personne1, personne2.
dans chacun de ses 2 champs tu y mets l'id de chaque amis.
Ensuite pour en revenir a ton souci de case a coché : de memoire un champs input (a mettre dans une page envoyé en post)
Et une page php ou tu recupere le test ...
Si tu veux tester avec plusieurs remplace le 1 par un $i.
<input type=checkbox name='ami1' value=1>toto</input>
<?php
if ($_POST['ami1']==1) echo "ami avec toto";
else echo "m'en fou suis bien seul";
?>
Bonjour,
Deja avant d'aller plus loin pour chercher l'erreur rectifie la ligne ou tu pose ta condition :
if ($donneesliste['Num_ind'] = $donneesliste2['Num_ind'])
par
if ($donneesliste['Num_ind'] == $donneesliste2['Num_ind'])
En effet pour faire une comparaison il faut mettre ==
Essaye deja ca
Deja avant d'aller plus loin pour chercher l'erreur rectifie la ligne ou tu pose ta condition :
if ($donneesliste['Num_ind'] = $donneesliste2['Num_ind'])
par
if ($donneesliste['Num_ind'] == $donneesliste2['Num_ind'])
En effet pour faire une comparaison il faut mettre ==
Essaye deja ca
Re bonjour,
et merci de vous pencher sur mon probleme.
J'ai fait les modifs comme fanny me l'a dit, biensure cela ne change pas grand chose pour le moment.
@ spidag : En effet un individu peu avoir plusieur amis.
La en gros ce que je cherche c'est a resortir de ma base sql la liste total des utilisateurs enregistrés et a mettre une case coché s'il est amis ou decoché s'il n'est pas amis avec l'utilisateur connecté.
je remet mon code si dessous avec les modif apporté par fanny
cdt
Yull
et merci de vous pencher sur mon probleme.
J'ai fait les modifs comme fanny me l'a dit, biensure cela ne change pas grand chose pour le moment.
@ spidag : En effet un individu peu avoir plusieur amis.
La en gros ce que je cherche c'est a resortir de ma base sql la liste total des utilisateurs enregistrés et a mettre une case coché s'il est amis ou decoché s'il n'est pas amis avec l'utilisateur connecté.
je remet mon code si dessous avec les modif apporté par fanny
<body> <img src="images/PH.jpg" border= "0"/> <p> Amis :<br><br> <? include("Conect.php"); if (isset($_SESSION['Login'])) { $numa = $_SESSION['Login']; } else { include("VLog2.php"); } if (isset($_GET['pagela'])) { $pagela = $_GET['pagela']; // On récupère le numéro de la page } else { $pagela = 1; // défaut } //nb de amis par page $nombreDelistesParPage = 10; // On calcule le numéro du premier ami qu'on prend pour le LIMIT de MySQL $premierlisteAafficher = ($pagela - 1) * $nombreDelistesParPage; // On récupère le nombre total de amis $retourliste = mysql_query("SELECT COUNT(*) AS nb_amis FROM individu, amis WHERE Ind_amis='$numa' AND Num_ind=Num_amis AND Num_ind<>Ind_amis"); $donneesliste = mysql_fetch_array($retourliste); $totalDeslistes = $donneesliste['nb_amis']; // On calcule le nombre de pages à créer $nombreDePagesliste = ceil($totalDeslistes / $nombreDelistesParPage); // On récupère les 3 dernières news $retourliste = mysql_query("SELECT Nom_ind, Num_ind, conect FROM individu WHERE Num_ind<>1 and Num_ind<>'$numa' ORDER BY Num_ind DESC LIMIT " . $premierlisteAafficher . ', ' . $nombreDelistesParPage); $retourliste2 = mysql_query("SELECT Num_amis, Ind_amis FROM amis WHERE Ind_amis='$numa' ORDER BY ID DESC LIMIT " . $premierlisteAafficher . ', ' . $nombreDelistesParPage); while ($donneesliste2 = mysql_fetch_array($retourliste2)) { while ($donneesliste = mysql_fetch_array($retourliste)) { $xa = $donneesliste['Num_ind']; $ya = $donneesliste['conect']; if (($donneesliste2['Num_amis'] == $xa) AND ($donneesliste2['Ind_amis'] == $numa)) { ?> <input type="checkbox" name="amis" id="ami" CHECKED /> <? } else { ?> <input type="checkbox" name="amis2" id="ami2" /> <? } ?> <a href="javascript:void(0)" onClick="window.open('View.php?numv=<? echo $xa ?>',null,'width=815,height=800, status=yes, directories=yes, toolbar=yes, location=yes, menubar=yes, scrollbars=yes, resizable=yes');"><? echo $donneesliste['Nom_ind']; ?></a> <? if ($ya==1) { echo "<FONT COLOR=black>(connecté)</FONT>"; } else { echo "<FONT COLOR=black>(non connecté)</FONT>"; } ?> <br><br> <? } } // Fin de la boucle des news // les amis vers chacune des pages echo '<br><br>Page : '; for ($ila = 1 ; $ila <= $nombreDePagesliste ; $ila++) { echo '<B><a href="Liste.php?pagela=' . $ila . '">' . $ila . '</a> </B>'; } ?> <br> <img src="images/PB.jpg" border= "0"/> </p> </body>
cdt
Yull
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est bon j'ai trouvé ma solution : ^^
<body> <img src="images/PH.jpg" border= "0"/> <p> Amis :<br><br> <? include("Conect.php"); if (isset($_SESSION['Login'])) { $numa = $_SESSION['Login']; } else { include("VLog2.php"); } if (isset($_GET['pagela'])) { $pagela = $_GET['pagela']; // On récupère le numéro de la page } else { $pagela = 1; // défaut } //nb de amis par page $nombreDelistesParPage = 10; // On calcule le numéro du premier ami qu'on prend pour le LIMIT de MySQL $premierlisteAafficher = ($pagela - 1) * $nombreDelistesParPage; // On récupère le nombre total de amis $retourliste = mysql_query("SELECT COUNT(*) AS nb_amis FROM individu, amis WHERE Ind_amis='$numa' AND Num_ind=Num_amis AND Num_ind<>Ind_amis"); $donneesliste = mysql_fetch_array($retourliste); $totalDeslistes = $donneesliste['nb_amis']; // On calcule le nombre de pages à créer $nombreDePagesliste = ceil($totalDeslistes / $nombreDelistesParPage); // On récupère les 3 dernières news $retourliste = mysql_query("SELECT Nom_ind, Num_ind, conect FROM individu WHERE Num_ind<>1 and Num_ind<>'$numa' ORDER BY Num_ind DESC LIMIT " . $premierlisteAafficher . ', ' . $nombreDelistesParPage); $retourliste2 = mysql_query("SELECT Num_amis, Ind_amis FROM amis WHERE Ind_amis='$numa' ORDER BY Num_amis DESC LIMIT " . $premierlisteAafficher . ', ' . $nombreDelistesParPage); while (($donneesliste2 = mysql_fetch_array($retourliste2)) AND ($donneesliste = mysql_fetch_array($retourliste))) { $za = $donneesliste2['Num_amis']; $wa = $donneesliste2['Ind_amis']; $xa = $donneesliste['Num_ind']; $ya = $donneesliste['conect']; if (($za == $xa) AND ($wa == $numa)) { ?> <input type="checkbox" name="amis" id="ami" CHECKED /> <? } ?> <a href="javascript:void(0)" onClick="window.open('View.php?numv=<? echo $xa ?>',null,'width=815,height=800, status=yes, directories=yes, toolbar=yes, location=yes, menubar=yes, scrollbars=yes, resizable=yes');"><? echo $donneesliste['Nom_ind']; ?></a> <? if ($ya==1) { echo "<FONT COLOR=black>(connecté)</FONT>"; } else { echo "<FONT COLOR=black>(non connecté)</FONT>"; } ?> <br><br> <? } // Fin de la boucle des news while ($donneesliste = mysql_fetch_array($retourliste)) { $xa = $donneesliste['Num_ind']; $ya = $donneesliste['conect']; ?> <input type="checkbox" name="amis2" id="ami2" /> <a href="javascript:void(0)" onClick="window.open('View.php?numv=<? echo $xa ?>',null,'width=815,height=800, status=yes, directories=yes, toolbar=yes, location=yes, menubar=yes, scrollbars=yes, resizable=yes');"><? echo $donneesliste['Nom_ind']; ?></a> <? if ($ya==1) { echo "<FONT COLOR=black>(connecté)</FONT>"; } else { echo "<FONT COLOR=black>(non connecté)</FONT>"; } ?> <br><br> <? } // Fin de la boucle des news // les amis vers chacune des pages echo '<br><br>Page : '; for ($ila = 1 ; $ila <= $nombreDePagesliste ; $ila++) { echo '<B><a href="Liste.php?pagela=' . $ila . '">' . $ila . '</a> </B>'; } ?> <br> <img src="images/PB.jpg" border= "0"/> </p> </body>