[php] Pb requete sql et condition

Fermé
Yull Master Messages postés 46 Date d'inscription vendredi 28 septembre 2007 Statut Membre Dernière intervention 17 janvier 2008 - 5 oct. 2007 à 16:00
Yull Master Messages postés 46 Date d'inscription vendredi 28 septembre 2007 Statut Membre Dernière intervention 17 janvier 2008 - 9 oct. 2007 à 12:44
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
A voir également:

6 réponses

Yull Master Messages postés 46 Date d'inscription vendredi 28 septembre 2007 Statut Membre Dernière intervention 17 janvier 2008 1
5 oct. 2007 à 16:03
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>
0
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";
?>
0
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
0
Yull Master Messages postés 46 Date d'inscription vendredi 28 septembre 2007 Statut Membre Dernière intervention 17 janvier 2008 1
8 oct. 2007 à 14:46
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

 <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
0

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

Posez votre question
Yull Master Messages postés 46 Date d'inscription vendredi 28 septembre 2007 Statut Membre Dernière intervention 17 janvier 2008 1
9 oct. 2007 à 11:44
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>
0
Yull Master Messages postés 46 Date d'inscription vendredi 28 septembre 2007 Statut Membre Dernière intervention 17 janvier 2008 1
9 oct. 2007 à 12:44
Re,

bon bah en faite cela ne onctionen toujorus pas.

donc si quelqu'un a une solution a mon prob ^^

merci d'avance
0