Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1809 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] pb inconu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] pb inconu

n°583121
KdZ'
Simple®
Posté le 04-12-2003 à 16:20:03  profilanswer
 

:hello:  
 
Voila, je comprend pas que cela ne fontionne pas :  
 

Code :
  1. if(isset($_POST['add_txt']) == true)
  2.      {
  3.       $txt = mysql_query("SELECT * FROM infos_local" );
  4.       $aff_txt = mysql_fetch_row($txt);
  5.       mysql_query("UPDATE infos_local SET texte='".$texte.$aff_txt[5]."'" );
  6.      }
  7.     else
  8.      {
  9.       mysql_query("UPDATE infos_local SET texte='".$texte."'" );
  10.      }


 
Aucun msg d'erreur particulier, sauf qu'il ne me prend pas en compte $aff_txt[5]  [:wawash]  :pfff:  :pfff:  
 
Le pb vient de là :  
 

Code :
  1. $txt = mysql_query("SELECT * FROM infos_local" );
  2.       $aff_txt = mysql_fetch_row($txt);
  3.       mysql_query("UPDATE infos_local SET texte='".$texte.$aff_txt[5]."'" );


 
Une idée ?


Message édité par KdZ' le 04-12-2003 à 23:38:00
mood
Publicité
Posté le 04-12-2003 à 16:20:03  profilanswer
 

n°583124
KrisCool
“Verbeux„
Posté le 04-12-2003 à 16:24:16  profilanswer
 

Est-tu sûr que mysql_fetch_row te renvoie vraiment une rangée, et non pas FALSE ?
D'autre part, pourrais-tu nous montrer la structure de la table qui est utilisée ?
Utilises-tu $aff_txt[5] en tant que 5ème champ de la rangée, ou en tant que 6ème champ ? Dans le premier cas c'est une erreur, le 5ème champ est contenu dans $aff_txt[4] puisque la numérotation des indices de tableaux commence à 0.


---------------
Loose Change Lies | Bars | Last.fm
n°583135
KdZ'
Simple®
Posté le 04-12-2003 à 16:38:31  profilanswer
 

Hello ;)
 
Nan t'inkiet, le $aff_txt[5] est le 6eme champ de la rangée.
 
Ensuite, quand je met $aff_txt[5] plus bas dans la page print($aff_txt[5]); il m'affiche bien ce qu'il faut :D

n°583139
KdZ'
Simple®
Posté le 04-12-2003 à 16:39:02  profilanswer
 

Citation : D'autre part, pourrais-tu nous montrer la structure de la table qui est utilisée ?
 
Eu, de quelle maniere ? capture ?

n°583172
deliriumtr​emens
sic transit intestinal...
Posté le 04-12-2003 à 17:00:08  profilanswer
 

Et si tu fais un  
 
echo $aff_txt[5];  
 
juste après le
 
$aff_txt = mysql_fetch_row($txt);
 
ça donne quoi ?


Message édité par deliriumtremens le 04-12-2003 à 17:00:33
n°583215
KdZ'
Simple®
Posté le 04-12-2003 à 17:32:45  profilanswer
 

rien  [:wawash]

n°583411
jagstang
Pa Capona ಠ_ಠ
Posté le 04-12-2003 à 22:41:27  profilanswer
 

change le titre du topic à l'occase

n°583418
mrbebert
Posté le 04-12-2003 à 22:56:36  profilanswer
 

$txt = mysql_query("SELECT * FROM infos_local" );
if (! $txt) {echo "Erreur requete 1"; exit; }
$aff_txt = mysql_fetch_row($txt);
 
C'est toujours bien de tester le résultat d'une fonction :whistle:  
 
 
Sinon, ca, spa bien : :non:  
if(isset($_POST['add_txt']) == true) {
 
Plutot ca -> if (isset($_POST['add_txt'])) { :)

n°583448
KdZ'
Simple®
Posté le 04-12-2003 à 23:37:02  profilanswer
 

mrBebert a écrit :


Sinon, ca, spa bien : :non:  
if(isset($_POST['add_txt']) == true) {
 
Plutot ca -> if (isset($_POST['add_txt'])) { :)  


 
merci, je suis toujours preneur des astuce optimisant le code ;)
 
 
Pour le reste, ça ne fonctionne toujours pas  [:mir45]

n°583450
mrbebert
Posté le 04-12-2003 à 23:38:30  profilanswer
 

essaie avec mysql_fetch_array et le nom de la colonne au lieu de son numéro [:proy]


Message édité par mrbebert le 04-12-2003 à 23:41:30
mood
Publicité
Posté le 04-12-2003 à 23:38:30  profilanswer
 

n°583451
jagstang
Pa Capona ಠ_ಠ
Posté le 04-12-2003 à 23:38:43  profilanswer
 

c'est vraiment la grosse optimisation alors

n°583461
ffluff
Challenge Everything
Posté le 04-12-2003 à 23:52:00  profilanswer
 

essaye dans phpmyadmin
de coller ta requete SELECT * ...
et regarde ce qu'elle retourne.
car un select sans restriction peut te retourner plein de résultat dans un ordre pas défini.
il se peut donc que le premier resultat (si il en a un) n'ai pas de 6eme champs


---------------
«Le succès consiste à aller d'échecs en échecs sans jamais perdre son enthousiasme» - Churchill
n°589877
KdZ'
Simple®
Posté le 13-12-2003 à 12:30:41  profilanswer
 

fFluFf a écrit :

essaye dans phpmyadmin
de coller ta requete SELECT * ...
et regarde ce qu'elle retourne.
car un select sans restriction peut te retourner plein de résultat dans un ordre pas défini.
il se peut donc que le premier resultat (si il en a un) n'ai pas de 6eme champs


 
Ma requete select ????

n°589902
null
Posté le 13-12-2003 à 13:00:48  profilanswer
 

moi je ferais aussi avec mysql_fetch_array(); ça devrait fonctionner :s c'est quoi le message d'erreur ?

n°590114
KdZ'
Simple®
Posté le 13-12-2003 à 20:33:01  profilanswer
 

En fait il n'y a aucun msg d'erreur, c'est juste que il ne me prend pas les deux valeur, juste une...

n°590115
KdZ'
Simple®
Posté le 13-12-2003 à 20:34:47  profilanswer
 

null a écrit :

moi je ferais aussi avec mysql_fetch_array(); ça devrait fonctionner :s c'est quoi le message d'erreur ?


 
 
 
ça marche comment cette methode ? [:miracle]

n°590133
mrbebert
Posté le 13-12-2003 à 20:48:26  profilanswer
 

Pareil que fetch_row(), sauf que tu peux accéder aux colonnes directement par le nom, plutôt que par leur indice
 
Par exemple, $row[0] devient $row['id'] si la première colonne du résultat s'appelait 'id'.

n°590135
null
Posté le 13-12-2003 à 20:51:26  profilanswer
 

Citation :

ça marche comment cette methode ?


 
Exemple :
°°°°°°°°°°
 
Ta table "test" contient les champs "id,prenom,nom,mail".
 
$Requete = "SELECT * FROM test WHERE id = '$id'";
$Resultat = mysql_query($Requete);
$Detail = mysql_fetch_array($Resultat);
 
$Prenom = $Detail['prenom'];
$Nom = $Detail['nom'];
$Mail = $Detail['mail'];

n°590141
KdZ'
Simple®
Posté le 13-12-2003 à 21:00:58  profilanswer
 

Oula merci les gars :)
 
Oui, donc en fait on gagne juste sur le fait que c'est plus pratique :??:

n°590143
KdZ'
Simple®
Posté le 13-12-2003 à 21:04:28  profilanswer
 

Pour mieux comprendre mon erreur je propose de poster mon code (en partie) :
 

Code :
  1. if ($texte != '')
  2.    {
  3.     // Formatage avant enregistrement du message avec le texte saisi + mot accrocheur
  4.     if($_POST['MotDebut'] != '')
  5.      {
  6.       $texte = ('<strong><font color=\"red\">'.$_POST['MotDebut'].'</font></strong> '.$texte.'');
  7.      }
  8.     // Enregistrement de $texte dans la bdd...
  9.     if (isset($_POST['add_txt']))
  10.      {
  11.       $txt = mysql_query("SELECT * FROM infos_local" );
  12.       $aff_txt = mysql_fetch_row($txt);
  13.       mysql_query("UPDATE infos_local SET texte='".$texte.$aff_txt[5]."'" );
  14.      }
  15.     else
  16.      {
  17.       mysql_query("UPDATE infos_local SET texte='".$texte."'" );
  18.      }
  19.     if (isset($_POST['maj_date']) == true)
  20.      {
  21.       mysql_query("UPDATE infos_local SET date='".$_POST['maj_date']."'" );
  22.       $mess = '
  23.        <SCRIPT LANGUAGE="JavaScript">
  24.        <!--
  25.        alert(\'Le message à bien été enregistré.\n\(Pour infos, vous avez choisi de mettre à jour la date de modification des status des postes au jour d\\\'aujourd\\\'hui.\)\');
  26.        -->
  27.        </SCRIPT>';
  28.      }
  29.     else
  30.      {
  31.       $mess = '
  32.       <SCRIPT LANGUAGE="JavaScript">
  33.       <!--
  34.       alert(\'Le message à bien été enregistré.\n\(Pour infos, vous avez choisi de ne pas mettre à jour la date de modification des status des postes\)\');
  35.       -->
  36.       </SCRIPT>';
  37.      }
  38.    }
  39.  elseif($texte == '')
  40.   {
  41.    $mess = '
  42.    <SCRIPT LANGUAGE="JavaScript">
  43.    <!--
  44.    alert(\'ATTENTION :\n\nVous n\\\'avez pas entrer de texte dans le formulaire !\nAucune modification n\\\'a été enregistrée.\');
  45.    -->
  46.    </SCRIPT>';
  47.   }


 
Voila, en gros, j'ai deux textarea, l'un affiche le texte present actuellement dans la base, et l'autre, le second, servira pour rentrer le nouveau texte en + de l'ancien...


Message édité par KdZ' le 13-12-2003 à 21:57:51
n°590187
simogeo
j'ai jamais tué de chats, ...
Posté le 13-12-2003 à 22:08:42  profilanswer
 

[:wam] c'est pas comme ca qu'on fetch ....... la tu fetch n'importe quoi ... eventuellment le premier enregistrement .....ca m'etonnerait que ce soit ce que tu veuilles ..
 
et utilises le fetch_array c'est plus clair.
 
 

Code :
  1. $txt = mysql_query("SELECT * FROM infos_local" );
  2. while($aff_txt = mysql_fetch_array($txt)) {
  3.    mysql_query("UPDATE infos_local SET texte='".$texte.$aff_txt['nom_de_mon_champ']."'" );
  4. }


 
 
c'est ce genre de truc que tu veux ... mais ca n'a pas de sens .......[:veryfree] j'aimerai bien voir comment est foutue ta base ou eventuellement ce que tu veux faire ... si tu veux update tte ta base alors ajoutes un LIMIT 0,1 a ta premiere requête .....
 
 
 


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°590196
KdZ'
Simple®
Posté le 13-12-2003 à 22:27:21  profilanswer
 

Mouarf, c chaud ça, je debute là...
 
voila la page : http://pim.asso.fr/stkge/upload/fichiers/056156165050651.PNG
 
bon, je vais essaer avec ton code, (le methode fetch_array())
 
Je veux juste modifier un champs dans ma bdd, c tout...
 
 
Edit : Cette methode ne fonctionne pas non plus  :pfff:  :pfff:  [:wawash]


Message édité par KdZ' le 13-12-2003 à 22:43:35
n°590201
simogeo
j'ai jamais tué de chats, ...
Posté le 13-12-2003 à 22:45:09  profilanswer
 

oui mais tu as combien d'enregistrements ds ta table infos_local .... il faudrait que tu passes un identifiant d'enregistrement  
 
et tu pourrais selectionner que le champs qui t'interessent  
$txt = mysql_query("SELECT texte FROM infos_local" );  
 
et t'as *peut-etre* meme pas besoin de faire la selection du contenu du champ prealablement .....
CONCAT(str1,str2,...)
 
mysql_query("UPDATE infos_local SET texte=CONCAT('texte', '".$texte."'" );  
 
je ne suis pas sur que CONCAT puisse etre utiliser en update ... et je ne suis pas sur de la syntaxe ... peut-etre qu'il ne faut pas de quotes pour designer le champs d'origne.


Message édité par simogeo le 13-12-2003 à 22:45:59

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°590208
KdZ'
Simple®
Posté le 13-12-2003 à 22:58:24  profilanswer
 

Dans ma table info_local j'ai 8 enregistrements :
http://pim.asso.fr/stkge/upload/fichiers/05615650651.PNG
http://pim.asso.fr/stkge/upload/fichiers/255505615650651.PNG
 
ça devient chaud là... :(


Message édité par KdZ' le 13-12-2003 à 22:59:54
n°590223
simogeo
j'ai jamais tué de chats, ...
Posté le 13-12-2003 à 23:19:05  profilanswer
 

KdZ' a écrit :

Dans ma table info_local j'ai 8 enregistrements :
http://pim.asso.fr/stkge/upload/fi [...] 650651.PNG
http://pim.asso.fr/stkge/upload/fi [...] 650651.PNG
 
ça devient chaud là... :(  


tu n'as pas 8 enregistrements .. tu as 8 champs .....
desolé KdZ' mais je ne veux pas t'aider davantage. c'est pas une punition, mais il faut d'abord que tu comprennes le fonctionnement d'une base de données :/ ... fais quelques tutos sur le net.
 
et reviens, on t'aidera pour mettre en place ce que tu veux mais actuellement, on ne peux pas te donner un cours de bdd depuis ce forum ce serait trop long :/


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°590228
KdZ'
Simple®
Posté le 13-12-2003 à 23:26:30  profilanswer
 

mais nan, je me suis trompé voyons, j'ai juste confondu momentanement... :o


Message édité par KdZ' le 13-12-2003 à 23:27:00
n°590233
simogeo
j'ai jamais tué de chats, ...
Posté le 13-12-2003 à 23:32:52  profilanswer
 

[:rofl]......
le prend pas mal ( on apprend tous ) mais rien qu'a voir la structure de ta base ... je sais que c'etait pas une faute d'étourderie :D
 
comment tu différencies tes enregistrements alors ? :D
perds pas de temps a argumenter, et cours apprendre a te servir d'une bdd au moins ca te sera utile ;) ( 1h te suffira peut-etre )


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°590265
KdZ'
Simple®
Posté le 14-12-2003 à 01:13:43  profilanswer
 

:kaola: ok, t'as raison apres tout, alors a + tard ;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] pb inconu

 

Sujets relatifs
Apache 2.0 et PHP[PHP/MySQL] Prob de récup du résultat d'une requete
[PHP] System, passthru ?Passage MySql à fichier SYLK (compatible excel) et inverse (PHP)
[PHP] Fonction permettant de télécharger un fichier....[PHP] verification d'email - expressions régulieres
[PHP/SQL] Insertion de caractères spéciaux dans une tableGénération d'image par PHP
un site en PHP/MySQL avec seulement des pages HTML en cache !?!?[PHP] petit pb avec une regexp
Plus de sujets relatifs à : [PHP] pb inconu


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR