pb d'insertion dans une table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb d'insertion dans une table

par pjl » 15 mai 2005, 22:35

ca se voit en lisant ton code. :roll:

par ricardo » 15 mai 2005, 22:30

oui oui j'ai tout essayé

Merci

par pjl » 15 mai 2005, 21:29

En effet le nom d'utilisateur appartient a ma table login alors que la j'effectue une requete sur ma table annonce. Comment récupérer "nomutilisateur" sachant que les deux tables sont liées par id_utilisateur ?
As-tu pris la peine de lire ceci ?
1. jette un oeil du coté des jointures, ca te permetra d'avoir tous les élèments que tu désires avec une seule requête.
Un ex. de tutorial : http://www.commentcamarche.net/sql/sqljoint.php3 mais il y en a d'autres sur le net.

par ricardo » 15 mai 2005, 20:20

$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
                $result=mysql_query($reponse); 
                list($id_utilisateur) = mysql_fetch_row($result); 
             //$valeur=mysql_fetch_array($result); 
            $choix="SELECT * FROM annonce WHERE id_utilisateur = '$id_utilisateur'"; 
            $result=mysql_query($choix); 
            while($val=mysql_fetch_array($result)) { ?> 
             
            
           <p><table width="649" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000"> 
          <tr> 
        <td width="424"><div align="left">Date : 
              <? $date= datefr($val['datesaisie']);echo $date; ?> 
              <br> 
              <? if($val['lieu']){ ?> 
              Lieu : <? echo $val['lieu']; ?><br> 
              <? } ?> 
             <br> Annonce saisie par <b><? echo $val['nomutilisateur']; ?></b><br> 
   
        <? if($val['email']){ ?> 
          E-mail : <? echo $val['email']; ?></a></b></strong><br><? } ?> 
   
        <? if($val['telephone']){ ?> 
          Téléphone : <? echo $val['telephone']; ?><br> 
          <? } ?> 
          <? if($val['annonce']){ ?> 
          <br> <? echo $val['annonce']; ?><br> 
          <? } ?> 
   
        </div></td></tr>  


Voila mon message d'erreur :
Notice: Undefined index: nomutilisateur in d:\easyphp1-8\www\pages seules\annonceespace.php on line 109

En effet le nom d'utilisateur appartient a ma table login alors que la j'effectue une requete sur ma table annonce. Comment récupérer "nomutilisateur" sachant que les deux tables sont liées par id_utilisateur ?

Merci

par ouckileou » 15 mai 2005, 16:59

Merci quoi :shock:

qu'est-ce que c'est ça une question ?
c'est en rapport avec quoi ?

t'as fais quoi t'as essayé des trucs ? faut peut-être nous les montrer ces bouts de code...
t'as des erreurs ? indique les

t'as vu ton message ??? et tu crois qu'on va pouvoir t'aider avec ça ??!!

c'est vraiment abusé... fais un effort c'est pas une hotline ici et de toute façon sans infos ben personne pourra t'aider

par ricardo » 15 mai 2005, 15:56

Impossible de récupérer le champs nomutilisateur de ma table login

Merci

par pjl » 15 mai 2005, 11:33

1. jette un oeil du coté des jointures, ca te permetra d'avoir tous les élèments que tu désires avec une seule requête.
Un ex. de tutorial : http://www.commentcamarche.net/sql/sqljoint.php3 mais il y en a d'autres sur le net.

2. pourquoi formater la date en francais avec PHP alors que tu peux l'avoir directement en francais avac ta base de données ?
les fonctions date de mysql : http://www.nexen.net/docs/mysql/annotee ... ?lien=date

par ricardo » 15 mai 2005, 10:18

$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
   			 $result=mysql_query($reponse); 
   			 list($id_utilisateur) = mysql_fetch_row($result);
			 //$valeur=mysql_fetch_array($result);
            $choix="SELECT * FROM annonce WHERE id_utilisateur = '$id_utilisateur'";
			$result=mysql_query($choix);
			while($val=mysql_fetch_array($result)) { ?>
			
	       
		   <p><table width="649" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000">
          <tr>
		<td width="424"><div align="left">Date : 
		      <? $date= datefr($val['datesaisie']);echo $date; ?>
		      <br>
		      <? if($val['lieu']){ ?>
		      Lieu : <? echo $val['lieu']; ?><br>
		      <? } ?>
		     <br> Annonce saisie par <b><? echo $val['nomutilisateur']; ?></b><br>
  
		<? if($val['email']){ ?>
		  E-mail : <? echo $val['email']; ?></a></b></strong><br><? } ?>
  
		<? if($val['telephone']){ ?>
		  Téléphone : <? echo $val['telephone']; ?><br>
		  <? } ?>
		  <? if($val['annonce']){ ?>
		  <br> <? echo $val['annonce']; ?><br>
		  <? } ?>
  
		</div></td></tr>
Voila mon message d'erreur :
Notice: Undefined index: nomutilisateur in d:\easyphp1-8\www\pages seules\annonceespace.php on line 109

En effet le nom d'utilisateur appartient a ma table login alors que la j'effectue une requete sur ma table annonce. Comment récupérer "nomutilisateur" sachant que les deux tables sont liées par id_utilisateur ?

Merci

par ricardo » 15 mai 2005, 10:01

Oui c'est ca ?

par ouckileou » 15 mai 2005, 00:25

effectivement, tu es très sympa :)

par rami » 15 mai 2005, 00:20

Allez je vais etre sympa car je suis fatigué :wink:

<?php
function datefr($mysql_date){
   $tab = explode('-',$mysql_date);

   return $tab[2].'/'.$tab[1].'/'.$tab[0];
}

 $date= datefr($val['datesaisie']);echo $date; ?>

par ouckileou » 14 mai 2005, 22:35

tu es sûr que c'est une fonction PHP ? où as-tu trouvé cette fonction ?

moi je ne la trouve pas dans la doc :? je pencherai plutôt pour une fonction dévelopée par quelqu'un, si tu l'appelles sans avoir le code de cette fonction, ça ne marchera pas

si tu as récupéré ce code poste le, ce sera plus sympa pour la personne qui tombera (peut-être) un jour sur cette page venant de Google par exemple et cherchant "formater une date SQL en français" ;)

par ricardo » 14 mai 2005, 22:12

Desolé trouver entre temps
<? $date= datefr($val['datesaisie']);echo $date; ?>
Merci pour ton aide

par ouckileou » 14 mai 2005, 22:10

pfffff je ne vais pas faire ton site étape par étape, cherche un peu !

quand tu récupéreras cette date, ça te donnera une chaine de caractère

ce que tu veux faire, c'est changer l'ordre des morceaux, et remplacer les "-" par des "/"
et miracle, PHP propose plein de fonction de manip de chaines

regarde donc celle là : explode()
ici => http://fr2.php.net/explode

tu dois pouvoir formater ta date en deux lignes :)

par ricardo » 14 mai 2005, 22:08

Ok ca marche, dans ma table sous la forme 2005-05-14

Je vais devoir afficher cette date dans une autre page, pourrais je sous la forme 14/05/2005.


Merci