pb inconu [PHP] - PHP - Programmation
Marsh Posté le 04-12-2003 à 16:24:16
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.
Marsh Posté le 04-12-2003 à 16:38:31
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
Marsh Posté le 04-12-2003 à 16:39:02
Citation : D'autre part, pourrais-tu nous montrer la structure de la table qui est utilisée ?
Eu, de quelle maniere ? capture ?
Marsh Posté le 04-12-2003 à 17:00:08
Et si tu fais un
echo $aff_txt[5];
juste après le
$aff_txt = mysql_fetch_row($txt);
ça donne quoi ?
Marsh Posté le 04-12-2003 à 22:56:36
$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
Sinon, ca, spa bien :
if(isset($_POST['add_txt']) == true) {
Plutot ca -> if (isset($_POST['add_txt'])) {
Marsh Posté le 04-12-2003 à 23:37:02
mrBebert a écrit : |
merci, je suis toujours preneur des astuce optimisant le code
Pour le reste, ça ne fonctionne toujours pas
Marsh Posté le 04-12-2003 à 23:38:30
essaie avec mysql_fetch_array et le nom de la colonne au lieu de son numéro
Marsh Posté le 04-12-2003 à 23:52:00
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
Marsh Posté le 13-12-2003 à 12:30:41
fFluFf a écrit : essaye dans phpmyadmin |
Ma requete select ????
Marsh Posté le 13-12-2003 à 13:00:48
moi je ferais aussi avec mysql_fetch_array(); ça devrait fonctionner :s c'est quoi le message d'erreur ?
Marsh Posté le 13-12-2003 à 20:33:01
En fait il n'y a aucun msg d'erreur, c'est juste que il ne me prend pas les deux valeur, juste une...
Marsh Posté le 13-12-2003 à 20:34:47
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 ?
Marsh Posté le 13-12-2003 à 20:48:26
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'.
Marsh Posté le 13-12-2003 à 20:51:26
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'];
Marsh Posté le 13-12-2003 à 21:00:58
Oula merci les gars
Oui, donc en fait on gagne juste sur le fait que c'est plus pratique
Marsh Posté le 13-12-2003 à 21:04:28
Pour mieux comprendre mon erreur je propose de poster mon code (en partie) :
Code :
|
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...
Marsh Posté le 13-12-2003 à 22:08:42
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 :
|
c'est ce genre de truc que tu veux ... mais ca n'a pas de sens ....... 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 .....
Marsh Posté le 13-12-2003 à 22:27:21
Mouarf, c chaud ça, je debute là...
voila la page :
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
Marsh Posté le 13-12-2003 à 22:45:09
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.
Marsh Posté le 13-12-2003 à 22:58:24
Dans ma table info_local j'ai 8 enregistrements :
ça devient chaud là...
Marsh Posté le 13-12-2003 à 23:19:05
KdZ' a écrit : Dans ma table info_local j'ai 8 enregistrements : |
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
Marsh Posté le 13-12-2003 à 23:26:30
mais nan, je me suis trompé voyons, j'ai juste confondu momentanement...
Marsh Posté le 13-12-2003 à 23:32:52
......
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
comment tu différencies tes enregistrements alors ?
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 )
Marsh Posté le 04-12-2003 à 16:20:03
Voila, je comprend pas que cela ne fontionne pas :
Aucun msg d'erreur particulier, sauf qu'il ne me prend pas en compte $aff_txt[5]
Le pb vient de là :
Une idée ?
Message édité par KdZ' le 04-12-2003 à 23:38:00