Erreur Undefined index

Résolu/Fermé
julien0224 Messages postés 8 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 2 septembre 2011 - 30 août 2011 à 09:58
julien0224 Messages postés 8 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 2 septembre 2011 - 30 août 2011 à 10:36
Bonjour,

J'ai besoin d'aide. Je vous explique...
J'ai fait sur ma base de donnée
ALTER TABLE produits ADD images_alt text NOT NULL;
tout c'est bien passé

Sur une autre page

Apres avoir fait la connexion avec la base de donnée, je fais un echo du champs images_alt
<?php echo $donnees['images_alt']; ?>

J'ai cette erreur:
Notice: Undefined index: images_alt in C:\wamp\www\monsite\XXX\modifier.php on line 126 Call Stack #TimeMemoryFunctionLocation 10.0007719384{main}( )..\modify.php:0

j'ai essayé de faire isset(...), mais à part retirer le message, rien n'est echo alors qu'il y a des données dans la base.

Dans le fond c'est qu'il ne trouve tout simplement pas le champs images_alt.
Ais-je mal fait le ALTER TABLE? ou il y a t-il un autre probleme?

Je suis débutant, donc si on pouvait m'indiquer la réponse et m'expliquer aussi, ce serait génial.
Merci

6 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 août 2011 à 10:29
Bonjour,

Tu as modifié ta table Produit, et tu fais ta requête sur ta table Images...

Xavier
2
boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
30 août 2011 à 10:36
très bon ;)
0
Titi La Fronde Messages postés 67 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 12 septembre 2011 3
30 août 2011 à 10:14
il nous faudrait ta requete ou tu place dans donnees le retour de l'array de ta table (vu que tu dois faire un select, puis un fetch_array)
1
boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
30 août 2011 à 10:26
bonjour,
Déjà vous pouvez faire un SELECT * depuis un client SQL comme phpMyAdmin par exemple pour voir effectivement si la colonne est présente (et bien déclarée, renseignée...).

Ensuite il y a la commande php suivante qui peut être sympa : bool array_key_exists ( mixed $key , array $search )

ici çà donnerai :
<?php 
  $donneeImgAlt = (array_key_exists('images_alt', $donnees) ? $donnees['images_alt'] : '');
 ?> 

puis plus loin (par exemple au sein d'une balise IMG ... :
<?php echo $donneeImgAlt; ?> 
1
Acid_ Messages postés 503 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 29 août 2014 158
30 août 2011 à 10:07
Quelle requête fais-tu pour récupérer ces données ?
0

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

Posez votre question
julien0224 Messages postés 8 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 2 septembre 2011
30 août 2011 à 10:19
Je fais comme ça.

<?php
include("includes/identification.php");

// On protège la variable "modifier_image" pour éviter une faille SQL
$id = mysql_real_escape_string(htmlspecialchars($_GET['idmodif']));

// On récupère les infos de l'image correspondante
$retour = mysql_query("SELECT * FROM images WHERE image_id= '$idmodif'");
if(mysql_num_rows($retour)>0) {
while ($donnees = mysql_fetch_array($retour))
{
?>


<?php echo $donnees['images_alt']; ?>

<?php echo $donnees['images_name']; ?>
<?php echo $donnees['images_color']; ?>

<?php
}
}
?>

Tout les autres echo marche sauf celui de images_alt
Comme c'est le seul que j'ai rajouté en faisant AlTER TABLE, je me suis demandé si c'était pas à cause de ça.
Si je l'avais pas mal fait ou je ne sais pas.

Merci de m'aider
0
julien0224 Messages postés 8 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 2 septembre 2011
Modifié par julien0224 le 30/08/2011 à 10:38
Merci pour votre réponse après avoir été sur phpMyAdmin, j'ai remarqué que la colonne n'était tout simplement pas créée.
Je l'ai créé à partir de phpMyAdmin et ça marche !

Merci boly et Reivax962

Reivax962 voilà pourquoi je ne l'ai pas trouvé lol
Je ferai plus attention


merci à vous tous.
0