Faire tableau avec images et descriptif - Forums de discussion

Navigation

Accueil du forum » PHP » Faire tableau avec images et descriptif


Le sujet

mojchrisFaire tableau avec images et descriptif
Par mojchris, le Vendredi 25/08/2006 à 10h39'45
90 messages
Bonjour,
Je souhaite créer un tableau dans une page avec par ligne 5 photos et le descriptif sous chaque photos.
D'habitude, j'utilise 2 fichier distincts comme admin.
Je créais à chaque fois un dossier pour chaque photo pour pouvoir permettre de la supprimer.
Un exemple:
<?php

include("images.class.php");

function 
getextension($fichier) {
  
$bouts explode("."$fichier);
  
$extension array_pop($bouts);
  return 
$extension;
}

if (
$_POST['action'] == "ajouter") {
  if (
$image && !empty($_POST['repertoire']) && !empty($_POST['mot_de_passe'])){
    if (
$_POST['mot_de_passe'] == "xxxx") {
      if (
$_POST['repertoire'] == "accueil" || $_POST['repertoire'] == "presentation" || $_POST['repertoire'] == "gravure") {
        
$repertoire $_POST['repertoire'];
        
$extension strtolower(getextension($image_name));
        if (
$extension == "jpg" || $extension == "png" || $extension == "bmp" || $extension == "gif") {
          
$imag = new images();
          
$imag->repertoire $repertoire;
          if (
$imag->ajouter_image($image$image_name)) echo "<font face=\"Verdana\">Le fichier " $image_name " a bien été envoyé.</font>";
          else echo 
"<font face=\"Verdana\">Une erreur s'est produite !</font>";
        } else echo 
"<font face=\"Verdana\">Extension interdite !</font>";
      } else echo 
"<font face=\"Verdana\">Repertoire interdit !</font>";
    } else echo 
"<font face=\"Verdana\">Mot de passe incorrect !</font>";
  } else echo 
"<font face=\"Verdana\">Formulaire incomplet !</font>";
} else if (
$_POST['action'] == "supprimer") {
  if (!empty(
$_POST['image']) && !empty($_POST['mot_de_passe'])) {
    if (
$_POST['mot_de_passe'] == "xxxx") {
      
$extension strtolower(getextension($image));
      if (
$extension == "jpg" || $extension == "png" || $extension == "bmp" || $extension == "gif" || $extension == "jpeg") {
        if (@
unlink($image)) echo "<font face=\"Verdana\">L'image <b>$image</b> a bien été suprimé !</font>";
        else echo 
"<font face=\"Verdana\">Une erreur s'est produite !</font>";
      } else echo 
"<font face=\"Verdana\">Extension interdite !</font>";
    } else echo 
"<font face=\"Verdana\">Mot de passe incorrect !</font>";
  } else echo 
"<font face=\"Verdana\">Formulaire incomplet !</font>";
}

?>
<html>
<body>

<form action="admin_images.php" method="post">
<input type="hidden" name="action" value="supprimer">
<table>
<tr>
<td><font face="Verdana">Image à supprimer :</font></td>
<td><select name="image">
<option></option>
<option value="">+++ accueil +++</option>
<?php

$images1 
= new images();
$images1->repertoire "accueil";
$images1->liste_select();

?>
<option value="">+++gravure+++</option>
<?php

$images2 
= new images();
$images2->repertoire "gravure";
$images2->liste_select();

?>

</select></td>
</tr>
<tr>
<td><font face="Verdana">Mot de passe :</font></td>
<td><input type="password" name="mot_de_passe"></td>
</tr>
<tr>
<td><input type="submit" value="Supprimer l'image !" style="color: #FF0000;"></td>
</tr>
</table>
</form>

<hr>
<form action="admin_images.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="ajouter">
<table>
<tr>
<td><font face="Verdana">Repertoire de destination :</font></td>
<td><select name="repertoire">
<option></option>
<option value="accueil">accueil</option>
<option value="gravure">gravure</option>



</select></td>
</tr>
<tr>
<td><font face="Verdana">Fichier à envoyer :</font></td>
<td><input type="file" name="image"></td>
</tr>
<tr>
<td><font face="Verdana">Mot de passe :</font></td>
<td><input type="password" name="mot_de_passe"></td>
</tr>
<tr>
<td><input type="submit" value="Envoyer image"></td>
</tr>
</table>
</form>

<hr>

<a href="index.html">Retour à l'accueil</a>


</body>
</html>

+ le fichier pour mettre ou modifier le texte descriptif
<?php

function getextension($fichier) {
  
$bouts explode("."$fichier);
  
$extension array_pop($bouts);
  return 
$extension;
}

if (!empty(
$_POST['fichier']) && isset($_POST['fichier']) && $_POST['fichier'] != ".htaccess") {
  if (
$_POST['action'] == "modifier") {
    if (!empty(
$_POST['contenu']) && isset($_POST['contenu']) &&
        !empty(
$_POST['login']) && isset($_POST['login']) &&
        !empty(
$_POST['pass']) && isset($_POST['pass'])) {
      if (
$_POST['login'] == "xxxxxx" && $_POST['pass'] == "xxxxxx") {
        if (
getextension($_POST['fichier']) == "txt" && !ereg("\.\."$_POST['fichier']) &&
            !
ereg("/"$_POST['fichier']) && file_exists("./interact/" $_POST['fichier'])) {
          
$pointeur fopen("./interact/" $fichier"w");
          
fwrite($pointeur$_POST['contenu']);
          
fclose($pointeur);
        } else echo 
"Fichier non autorisé !\n";
      } else echo 
"Login ou mot de passe incorrect !\n";
    } else echo 
"Formulaire incomplet !\n";
  } else
   {
    if (
getextension($_POST['fichier']) == "txt" && !ereg("\.\."$_POST['fichier']) &&
        !
ereg("/"$_POST['fichier']) && file_exists("./interact/" $_POST['fichier'])) {
      echo 
"<form action='admin_texte.php' method='post'>\n";
      echo 
"<input type='hidden' name='action' value='modifier'>\n";
      echo 
"<input type='hidden' name='fichier' value='$fichier'>\n";
      echo 
"Contenu de $fichier :<br>\n";
      echo 
"<textarea name='contenu' cols='50' rows='12'>";
      
      
      
$fichier $_POST['fichier'];
      
$pointeur fopen("./interact/" $fichier"r");
      while (!
feof($pointeur)) {
        
$ligne=fgets($pointeur4096);
        
        echo 
"$ligne";
      }
      
fclose($pointeur);
      echo 
"</textarea><br>\n";
      echo 
"Login : <input type='text' name='login' size='10'><br>\n";
      echo 
"Passe : <input type='password' name='pass' size='10'><br>\n";
      echo 
"<input type='submit' value='Enregistrer les modifications'>\n";
      echo 
"</form>\n";
    } else echo 
"Fichier non autorisé\n";
  }
} else {
  echo 
"<form action='admin_texte.php' method='post'>\n";
  echo 
"Choisissez :<br>\n";
  echo 
"<select name='fichier'>\n";
  echo 
"<option></option>\n";
  if (
$pointeur opendir("./interact/")) {
    while ((
$file readdir($pointeur)) !== false) {
      if (
$file != "" && $file != "." && $file != ".." && $file != ".htaccess") {
        echo 
"<option value='$file'>$file</option>\n";
      }
    }
    
closedir($pointeur);
  } else echo 
"Erreur sur le serveur !\n";
  echo 
"</select>\n";
  echo 
"<input type='submit' value='Modifier ce fichier'>\n";
  echo 
"</form>\n";
}

?>
<a href="index.htm">Retour à l'accueil</a>

Le souci, c'est que j'ais 70 images et descriptifs à mettre, cela veut dire des lignes de codes interminables, une ribambelle de dossiers images, bref quasi ingérable.
Y a t'il un moyen plus simple de réaliser cela.
Merci d'avance
webide.

________________
mojchris

Les réponses

mojchrisPar mojchris, le Jeudi 07/09/2006 à 08h52'27
90 messages
J'ais tenté de créer cela avec une base de données(je débutes)Enfin bref attention aux dégats.
Voici la base sql
CREATE TABLE an_support (
photo varchar(50) NOT NULL default '',
message text NOT NULL,
) TYPE=MyISAM;

La page d'admin pour insérer les photos et descriptifs:
$hote="localhost";
$user="root";
$base_id = mysql_connect($hote, $user);
if (!$base_id){echo "Connexion à la base de données impossible !";}
if (isset ($file) && $HTTP_POST_FILES["file"]["error"]==0 && $HTTP_POST_VARS['MAX_FILE_SIZE']>=$HTTP_POST_FILES["file"]["size"])
$nom=$HTTP_POST_FILES["file"]["name"];
$point=strrpos($nom,"."); 
if (!$point) $ext=""; else $ext=strtolower(substr($nom,$point));
if (($ext==".jpg") || ($ext==".gif" )) 
$repertoire_upload="support/";

$insertSQL = "INSERT INTO support (message, photo) VALUES ('$message','$photo')";

<html>
<body>

<form action="envoi" method="post" enctype="multipart/form-data" name="form1">
<input name="MAX_FILE_SIZE" type="hidden" value="60000">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Message:</td>
<td><textarea name="message" cols="40" rows="7"></textarea></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td>Photo format gif ou jpg pas plus de 60ko </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Photo:</td>
<td><input name="file" type="file" id="file" size="35"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<input type="submit" value="Insérer l'enregistrement">
<input name="ajout" type="hidden" id="ajout" value="ok">
</tr>
</table>
</form>

et la page ou apparaisent les images et les descriptifs (6 photos par ligne)
<?php


$nb 
6
$host "localhost";
$login "xxx"
$hostname "xxx"

$bdd mysql_connect($host$login);

mysql_select_db($hostname,$bdd);

$sql "SELECT * FROM `table` ORDER BY `id` ASC";

$req mysql_query($sql) or die('<u>Probleme SQL</u> : '.$sql.'<br>'.mysql_error
());

echo
'<table>';
$i 1;
while(
$resultat mysql_fetch_array($req)) {
if(
$i == 1) { echo'<tr>'; }
echo
'<td><img src="'.$resultat['url'].'"></img></td></tr>';
echo
'<td>{$resultat['message text']</td>}
$i++;
if($i > $nb) { echo'
</tr>'; $i = 1; }
}
echo'
</table>';
?>


Si quelqu'un avait la patience de m'aider.
Merci d'avance
webide

________________
mojchris

1cyrilPar 1cyril, le Jeudi 07/09/2006 à 18h54'29
821 messages
ca c'est du code !

________________
Le Modérateur de Net-Pratique.
Statut: Modérateur

Pages

Réponses les plus anciennes... 1 ...Réponses les plus récentes

A lire également

- Les conditions générales d'utilisation du site

Top-sites membres

Web Soluces | -4 pointsLes Amis des Animaux | -20 pointsCBIENLA.com - Plus de 5000 recettes de cuisine - | -29 pointsSweet Gwendoline | -30 points

Discussions récentes dans les forums

Sujet Forum
denis81cash-6minutes.com
Sujet posté par denis81 le 21/11/2008 à 05h55'18
Le comptoir » Echange de liens / Recherche de partenaires
touretEchange De Liens
Sujet posté par touret le 13/11/2008 à 08h58'09
Net-Pratique.fr » Suggestions
xersesRe: espace membres 1.2
Réponse postée par xerses le 09/11/2008 à 18h57'14
Développement » PHP
xersesRe: Le jeu flash : Hélico
Réponse postée par xerses le 05/11/2008 à 23h53'47
Le comptoir » Le bar
unitRe: Vous cherchez un travail simple sur Internet ?
Réponse postée par unit le 03/11/2008 à 15h53'53
Internet » Sites de ressources
froogyRe: Un ptit jeu
Réponse postée par froogy le 26/10/2008 à 16h40'03
Le comptoir » Le bar
rerRe: Sarbacane ou html ?
Réponse postée par rer le 23/10/2008 à 16h11'03
Développement » (X)HTML / CSS
1cyrilRe: Clic droit interdit [Réglé]
Réponse postée par 1cyril le 19/10/2008 à 19h26'02
Développement » PHP
xersesRe: Espace-Membre : pb connexion
Réponse postée par xerses le 13/10/2008 à 12h41'06
Développement » PHP
toutsi83Espace-Membre : pb URL's [Réglé]
Sujet posté par toutsi83 le 07/10/2008 à 12h33'17
Développement » PHP
Membres
Pseudo:
Pass: Mémoriser ?
Problème d'identificationInscription gratuite
Tribune libre
CNIL: 1098091
Connectés: 17