Hello les géniesj aurai besoin d un petit coup de pouce j ai une fonction qui me sert a afficher les albums mais ca beugue j ai cette erreur
Undefined offset: 29 in C:\wamp\www\Visio-coquin\outils\affichages.php one line 163
la fonction :
function afficher_albums($requete, $connexion, $id_album)
{
$resultat=mysqli_query($connexion, $requete);
$liste_albums="<div id=\"albums\">";
$i=0;
while($ligne=mysqli_fetch_object($resultat))
{
$tab_album[$i]=$ligne->id_album;
if(isset($_SESSION['id_album']) AND $ligne->id_album==$_SESSION['id_album'])
{
$style=" id=\"album_colore\"";
}
else
{
$style="";
}
if($i==0)
{
$liste_albums.="<div" . $style . ">\n";
$liste_albums.="<h3><a href=\"admin.php?action=albums&id_album=" . $ligne->id_album . "\">" . stripslashes($ligne->titre_album) . " (" . $ligne->langue . ")</a>";
$liste_albums.="<span class=\"nav_album\">\n<a href=\"admin.php?action=modifier_albums&id_langue=" . $ligne->id_langue . "&id_album=" . $ligne->id_album . "\"><img src=\"../icones/modifier.png\" title=\"modifier\" alt=\"\" /></a>\n";
$liste_albums.="<a href=\"admin.php?action=supprimer_albums&id_langue=" . $ligne->id_langue . "&id_album=" . $ligne->id_album . "\"><img src=\"../icones/supprimer.png\" title=\"supprimer\" alt=\"\" /></a>\n</span>\n</h3>\n";
$liste_albums.="</div>\n";
$liste_albums.="<fieldset " . $_SESSION[$ligne->id_album] . " class=\"affiche_album\">\n";
}
if($i!=0 && ($tab_album[$i]!=$tab_album[$i-1]))//à chaque changement d'album
{
$liste_albums.="</fieldset>\n";
$liste_albums.="<div" . $style . ">\n";
$liste_albums.="<h3><a href=\"admin.php?action=albums&id_album=" . $ligne->id_album . "\">" . stripslashes($ligne->titre_album) . " (" . $ligne->langue . ")</a>";
$liste_albums.="<span class=\"nav_album\">\n<a href=\"admin.php?action=modifier_albums&id_langue=" . $ligne->id_langue . "&id_album=" . $ligne->id_album . "\"><img src=\"../icones/modifier.png\" title=\"modifier\" alt=\"\" /></a>\n";
$liste_albums.="<a href=\"admin.php?action=supprimer_albums&id_langue=" . $ligne->id_langue . "&id_album=" . $ligne->id_album . "\"><img src=\"../icones/supprimer.png\" title=\"supprimer\" alt=\"\" /></a>\n</span>\n</h3>\n";
$liste_albums.="</div>\n";
$liste_albums.="<fieldset " . $_SESSION[$ligne->id_album] . " class=\"affiche_album\">\n";
}
$liste_albums.="<form href=\"admin.php?action=albums&id_album=" . $ligne->id_album . "\" method=\"POST\" id=\"form_album\">\n";
if($tab_album[$i]==$id_album)
{
$requete2="SELECT r.*, m.* FROM ranger_medias r, medias m WHERE m.id_media=r.id_media AND r.id_album='" . $tab_album[$i] . "' ORDER BY r.id_ranger_media";
$resultat2=mysqli_query($connexion, $requete2);
$liste_photos="";
while($ligne2=mysqli_fetch_object($resultat2))
{
$liste_photos.="<img class=\"img_album [" . $ligne2->id_media . "]\" style=\"width:50px;height:50px;margin:1px\" src=\"../medias/media" . $ligne2->id_media . "_p." . $ligne2->fichier_media . "\" alt=\"\" />";
}
}
$liste_albums.="<hr />\n<textarea style=\"height:260px\" name=\"album" . $ligne->id_album . "\" placeholder=\"Glisser les photos ici...\">" . $liste_photos . "</textarea>\n<hr />\n";
$liste_albums.="<input type=\"submit\" name=\"submit2\" value=\"ENREGISTRER\" />\n";
$liste_albums.="<hr /></form>\n";
$liste_albums.="<script type=\"text/javascript\">
document.form_album.album" . $ligne->id_album . ".focus();
</script>\n";
$i++;
}
$liste_albums.="</div>\n";
return $liste_albums;
}
cette ligne qui pose soucis est celle ci
$liste_albums.="<fieldset " . $_SESSION[$ligne->id_album] . " class=\"affiche_album\">\n";
je code qui utilise la fonction me met un undefined index id_album a la ligne 1820 qui est l appel a la fonction les 2 chose sont peut etre lié je doi dire que je suis total perdu
le developement qui appel la fonction
//================== Albums =====================================
case "albums":
$contenu="form_albums.php";
$titre="Gestion des albums";
$confirm_suppression="vide.php";
$action_form="albums";
$bouton_form="CREER UN ALBUM";
$script="<script type=\"text/javascript\" src=\"../editeur/album.js\"></script>\n";
$css="<link href=\"../editeur/editeur.css\" rel=\"stylesheet\" type=\"text/css\" />\n";
$css.="<link href=\"../editeur/editeur_no_toolbar.css\" rel=\"stylesheet\" type=\"text/css\" />\n";
//on construit la liste déroulante des langues
$requete="SELECT * FROM langues ORDER BY symbole";
$resultat=mysqli_query($connexion, $requete);
$ld_langues="<option value=\"\">Sélectionner la langue</option>\n";
while($ligne=mysqli_fetch_object($resultat))
{
if(isset($_POST['id_langue']) && $ligne->id_langue == $_POST['id_langue'])
{
$selected[$_POST['id_langue']]=" selected=\"selected\"";
$selection=$selected[$ligne->id_langue];
}
else
{
$selection="";
}
$ld_langues.="<option value=\"" . $ligne->id_langue . "\"" . $selection . ">" . $ligne->symbole . " - " . $ligne->pays . "</option>\n";
}
if(isset($_SESSION['id_album']))
{
unset($_SESSION['id_album']);
}
if(isset($_POST['submit']))
{
$tab_champ=array("id_langue"=>"Langue", "titre_album"=>"Titre album");
$tab_vide=array();
while(list($key, $value) = each($tab_champ))
{
if(empty($_POST[$key]))
{
$color_champ[$key]=" class=\"color_champ\"";
array_push($tab_vide, $value);
}
}
if(!empty($tab_vide))
{
$avertissement="<label id=\"avertissement\">" . champs(count($tab_vide), "debut") . implode(", ", $tab_vide) . champs(count($tab_vide), "fin") ."</label>\n";
}
else
{
//on teste si l'album existe deja dans cette langue
$requete1="SELECT titre_album FROM albums WHERE titre_album='" . $_POST['titre_album'] . "' AND id_langue='" . $_POST['id_langue'] . "'";
$resultat1=mysqli_query($connexion, $requete1);
$nb_lignes=mysqli_num_rows($resultat1);
if($nb_lignes!=0)
{
$avertissement="<label id=\"avertissement\">L'album <strong>'" . $_POST['titre_album'] . "'</strong> existe déjà dans cette langue</label>\n";
}
else
{
$requete2="INSERT INTO albums SET id_langue='" . $_POST['id_langue'] . "',
titre_album='" . addslashes($_POST['titre_album']) . "',
date_album='" . date("Y-m-d") . "'";
$resultat2=mysqli_query($connexion, $requete2);
}
}
}
if(isset($_GET['id_album']))
{
$_SESSION[$_GET['id_album']]=" id=\"affiche_fieldset\"";
}
if(isset($_POST['submit2']))
{
//détection des medias insérés
$re= '/\[([^\]]*)\]/';// expression régulière permettant de récupérer tout ce qui se trouve entre les crochets
// on met à jour la liste des photos de l'album en supprimant d'abord toutes les photos rangées
$requete3="DELETE FROM ranger_medias WHERE id_album='" . $_GET['id_album'] . "'";
$resultat3=mysqli_query($connexion, $requete3);
preg_match_all($re, $_POST['album' . $_GET['id_album']], $tab_medias);// on recherche toutes les expressions entre crochets
if(sizeof($tab_medias[1])>0)// si il y a des médias présents dans la zone
{
for($j=0;$j<sizeof($tab_medias[1]);$j++) //[1] pour le résultat sans le séparateur [] et [0] avec séparateur
{
// on met à jour la liste des photos de l'album en insérant la nouvelle liste de photos
$requete4="INSERT INTO ranger_medias SET id_album='" . $_GET['id_album'] . "', id_media='" . $tab_medias[1][$j] . "'";
$resultat4=mysqli_query($connexion, $requete4);
}
}
}
// affichage des albums présents dans la table avec leurs médias
$requete5="SELECT a.*, l.* FROM albums a, langues l
WHERE a.id_langue=l.id_langue ORDER BY l.langue, a.titre_album ASC";
$affichage=afficher_albums($requete5, $connexion, $_GET['id_album']);
// toujours affichage des médias présentes dans la table
$requete6="SELECT * FROM medias WHERE press_book='oui' ORDER BY fichier_media, titre_media";
$affichage_centre=afficher_medias($requete6, "album", $connexion);
break;
et cette fameuse ligne 1820
$affichage=afficher_albums($requete5, $connexion, $_GET['id_album']);
bon ca fait beraucoup de choses mais c est pour être le plus cler possible ca fait des semaine que sa me rend dingues
merci a vous