problème liaison table

Mammouth du PHP | 985 Messages

18 mars 2010, 14:25

Plaisir, c'est cool que cela fonctionne :wink:

Ah sinon j'avais oublié un truc, met ton champ MAILUTILISATEURS en unique via PhpMyAdmin.
Cela permettra de ne pas avoir deux mêmes emails, vue que tu t'en sers de login...
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

ViPHP
AB
ViPHP | 5818 Messages

18 mars 2010, 18:15

...Et évite de mettre le nom de tes champs tout en majuscules. C'est juste une histoire de lisibilité mais quand c'est plus facile à lire c'est aussi plus facile à coder et à débugger :wink:

Eléphant du PHP | 388 Messages

18 mars 2010, 18:59

Petite question bête :D
quand par la suite je veut affiche pour la personne qui se connecte que ses annonces faudrai que je selectionne par rapport au ID

donc pour le contenu général de l'annonce fraudrai que je face un
$sql= 'SELECT * FROM annonces';
mais pour rapatrier que les annonce de l'utilisateur faudrait inclure ID dans ma requete non ?

ViPHP
ViPHP | 5462 Messages

18 mars 2010, 19:04

ouai

Eléphant du PHP | 388 Messages

18 mars 2010, 20:40

Faudrai faire cela ?

SELECT * FROM `annonces` WHERE numutilisateurs

ViPHP
ViPHP | 5462 Messages

18 mars 2010, 20:58

Faudrai faire cela ?

SELECT * FROM `annonces` WHERE numutilisateurs
oui en gros, tu sais tu peu essayer avant de demander, tu vas rien casser :mrgreen:

Eléphant du PHP | 388 Messages

18 mars 2010, 21:54

je viens d'essayer et sa confirme bien se que je penser cette requete récupère toutes les annonces de la table et sa filtre pas selon l'ID de la personne

Mammouth du PHP | 985 Messages

18 mars 2010, 21:59

Regarde et examine comment ta requête fonctionne dans ta page contrôle, tu as surement oublié quelquechose :wink:

[EDIT]
La casse aussi est importante.
Modifié en dernier par Dr@ke le 18 mars 2010, 22:03, modifié 1 fois.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

ViPHP
ViPHP | 5462 Messages

18 mars 2010, 22:00

je viens d'essayer et sa confirme bien se que je penser cette requete récupère toutes les annonces de la table et sa filtre pas selon l'ID de la personne
je t'invite a allé voire des tutos de débutant sur le SQL
http://www.siteduzero.com/tutoriel-3-14 ... nnees.html

Eléphant du PHP | 388 Messages

19 mars 2010, 15:23

je te remercie pour le liens je viens de voir sa,

en faite pour mon problème exemple quand l'utilisateur se connecte a sa session, si son ID=1

faudrai faire ceci comme requete
SELECT * FROM `annonces` WHERE NUMUTILISATEURS=1
cependant je ne connait pas son ID sa peut être 1 ou 15 ou 500 faudrait que la requete reprenne l'ID de l'utilisateurs connecté.

Voit tu se que je veut dire

Mammouth du PHP | 985 Messages

19 mars 2010, 15:44

As tu essayé de comprendre ta page contrôle et te documenter à son sujet?

C'est pour cela, que je n'aurais pas dû te donner une partie du code tout fait.
Car ce n'est pas la bonne méthode pour comprendre.

Comment veux tu que SQL devine de quel ID il s'agit si tu ne lui dis pas dans ta requête?
(Même principe pour l'email el le mot de passe dans la requête de la page contrôle)

Je t'avais pourtant donné un lien phpdebutant...
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 388 Messages

19 mars 2010, 15:52

As tu essayé de comprendre ta page contrôle et te documenter à son sujet?

C'est pour cela, que je n'aurais pas dû te donner une partie du code tout fait.
Car ce n'est pas la bonne méthode pour comprendre.

Comment veux tu que SQL devine de quel ID il s'agit si tu ne lui dis pas dans ta requête?
(Même principe pour l'email el le mot de passe dans la requête de la page contrôle)

Je t'avais pourtant donné un lien phpdebutant...

Merci pour ton indices je vais étudier mieux le code et je te tiendrai au courant :wink:

Mammouth du PHP | 985 Messages

19 mars 2010, 15:56

L'ID de l'utilisateur (NUMUTILISATEURS) doit bien être stocké quelque part.
La solution n'est pas loin :wink:
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 388 Messages

19 mars 2010, 20:20

je viens d'essayer cela

<?php

$NUMUTILISATEURS = $_POST['NUMUTILISATEURS'];
include '../php/connect.php';

$sql = "SELECT NUMUTILISATEURS FROM utilisateurs WHERE NUMUTILISATEURS = '$NUMUTILISATEURS'";

$req = mysql_query($sql) or exit('<pre>' .  $sql . PHP_EOL . mysql_error() . '</pre>');

$user = mysql_fetch_assoc($req)
?>
<?php
$sql2= 'SELECT * FROM annonces WHERE NUMUTILISATEURS';
$req2= mysql_query($sql2) or die ('erreur sql2 §<br />'.$sql2.'<br />'.mysql_error());


$i=0;

while($data=mysql_fetch_array($req2)) 
  { 
  ?>
<div id="table2">


<table>
	<tr>
		<td class="titreannonce"><?php echo $data ['titreannonce']; ?></td>		
		<td class="date"><?php echo $data ['date']; ?></th>		
    </tr>
    <tr>
		<td class="region"><?php echo $data ['region']; ?></td>	
		<td class="prix"><?php echo $data ['prix'],'€'; ?></td>
				
    </tr>	
	<tr>	
			<?php
                 $descriptionannonce = $data ['descriptionannonce'];
                 $descriptionannonce = substr($descriptionannonce, 0, 100 );
				echo '<td class="description" colspan="2">' . $descriptionannonce,'...' . '</td>';	
			?>	
    </tr>	
	
    <tr>
		<td class="vide"></td>
		<td class="pseudo"><?php echo $data ['pseudo']; ?></td>					
    </tr>	
  
 </table>
 
   
<?php
  }
 mysql_free_result ($req);
mysql_close ();
  ?>


</div>
 


mais non sa passe pas je cherche

Mammouth du PHP | 985 Messages

19 mars 2010, 20:34

Oui met ce code incorrect de coté pour le moment...

Retourne au code de la page contrôle:

Je prends la fin du code:
// on active les sessions
session_start();

// on insère le mail de l'utilisateur autorisé dans la session MAILUTILISATEURS
$_SESSION['MAILUTILISATEURS'] = $user['MAILUTILISATEURS'];

// on insère l'ID de l'utilisateur autorisé dans la session NUMUTILISATEURS
$_SESSION['NUMUTILISATEURS'] = $user['NUMUTILISATEURS'];
 
// on redirige vers la page ../moncomptepart.php
header('Location: ../moncomptepart.php');
Donc pour récupérer l'ID de l'utilisateur qui se connecte à une autre page de ton site ensuite, il suffit de vérifier la session NUMUTILISATEURS.
Et ensuite lancer une requête en insérant son ID contenue dans cette même session...

Regarde ici:
http://www.phpfrance.com/tutoriaux/inde ... ssions-php
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.