Bonjour à tous,
Je débute en php et je voudrais utiliser ce script pour ma partie admin :
Seulement je ne le comprend pas assez pour y ajouter des éléments.
Je voudrais rajouter la possibilité d'uploader une photo dans la partie "Ajouter une info".
Et je voudrais pouvoir récupérer cette photo dans l'affichage de l'info.
J'affiche les infos comme ca :
Merci à tous.
Je débute en php et je voudrais utiliser ce script pour ma partie admin :
<?php
// INFOS DE CONNEXION à la BDD
$serveur=''; // serveur
$user=''; // nom d'utilisateur
$password=''; // mot de passe
$base=''; // nom de la base contenant les tables
/*
Noms des tables et leurs champs :
Note : il est obligatoire que vos tables disposent d'un champ "id" bénéficiant de l'option d'auto-incrémentation ou étant une clé primaire
S'il existe un champ "mdp" (mot de passe), son contenu sera obligatoirement caché lors du listage des entrées de la table.
Dans l'exemple ci-dessous, la première entrée, qui est en fait un sous-tableau, est le nom de la table à administrer.
dans le sous-tableau, vous devez mettre le nom exact des champs que vous souhaitez administrer (peu importe l'ordre)
*/
$champs=array(
"news"=>array("date","titre","texte_news","photo")
);
/*
Pour finir, vous devez modifier les liens apparaissant dans le cadre "menu" plus bas dans cette page. Prenez exemple sur les liens existants pour
en créer d'autres. La syntaxe est la suivante :
<a href="<?=$_SERVER["PHP_SELF"]?>?table=NOM_DE_LA_TABLE&q=ACTION_A_EFFECTUER">NOM_DU_LIEN</a>
Avec ACTION_A_EFFECTUER valant "Ajouter" si vous voulez ajouter une entrée dans la table ou valant "" si vous voulez simplement lister.
*/
// Connexion à la base
$connexion = mysql_connect("$serveur","$user","$password") or die ("Impossible de se connecter à la base de données");
// sélection de la base
mysql_select_db("$base",$connexion);
// FONCTIONS DIVERSES
function Ajouter($table, $query) {
$insert=mysql_query("insert into $table set $query");
if ($insert==TRUE) {
echo "Les données ont été correctement ajoutées<br />";
}
else {
echo "Erreur lors de l'ajout des données<br />";
}
}
function Modifier($table, $query, $where) {
$update=mysql_query("update $table set $query where $where");
if ($update==TRUE) {
echo "Les données ont été correctement modifiées<br />";
}
else {
echo "Erreur lors de la modification des données<br />";
}
}
function Supprimer($table, $where) {
$delete=mysql_query("delete from $table where $where");
if ($delete==TRUE) {
echo "Les données ont été correctement effacées<br />";
}
else {
echo "Erreur lors de la suppression des données<br />";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Administration des bdd</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="imagetoolbar" content="no" />
<meta content="TRUE" name="MSSmartTagsPreventParsing" />
<style type="text/css" media="screen">
@import url( cssjs/css.css );
</style>
<script language="Javascript">
function confirmation(url)
{
if(confirm('Voulez-vous vraiment supprimer ?'))
document.location.href=url
}
</script>
</head>
<body>
<!-- CADRE PRINCIPAL //-->
<div id="cadreprincipal">
<!-- MENU //-->
<div id="menu">
<div class="titremenu">
Photos
</div>
<div class="liensmenu">
<ul>
<li><a href="<?=$_SERVER["PHP_SELF"]?>?table=news">Ajouter des photos</a></li>
<li><a href="<?=$_SERVER["PHP_SELF"]?>?table=news&q=Ajouter">Supprimer des photos</a></li>
</ul>
</div>
<div class="titremenu">
Infos
</div>
<div class="liensmenu">
<ul>
<li><a href="<?=$_SERVER["PHP_SELF"]?>?table=news">Gérer les infos</a></li>
<li><a href="<?=$_SERVER["PHP_SELF"]?>?table=news&q=Ajouter">Ajouter une info</a></li>
</ul>
</div>
</div>
<div id="main">
<?php
/////////////////// PROGRAMME PRINCIPAL
if (isset($_GET["q"])) { $q=$_GET["q"]; } elseif(isset($_POST["q"])) { $q=$_POST["q"]; } else { $q=""; }
if (isset($_GET["sq"])) { $sq=$_GET["sq"]; } elseif(isset($_POST["sq"])) { $sq=$_POST["sq"]; } else { $sq=""; }
if (!isset($_GET["table"])) {
echo "<div class=\"erreur\">Erreur ! La page n'a pas été appelée avec les bons paramètres.</div>";
} else {
$table=$_GET["table"];
$prefixe=""; // Utile si vous désirez préfixer automatiquement les tables
$table_utilisee="$prefixe".$table."";
switch($q) {
/// Formulaire d'ajout
case "Ajouter";
$nb_champs=sizeof($champs["$table"]);
echo "<div class=\"titrecorps\">Ajout d'une information dans la table \"$table\"</div>";
?><br /><?php
echo "<div class=\"souligne\"> Date : rentrez la date de cette manière : 0000-00-00 00:00:00</div>";
echo "<div class=\"souligne\"> Photo : rentrez le nom complet avec l'extension (ex: image.jpg)</div>";
?><br /><?php
if ($sq=="Valider") {
$valeurs="";
$i=0;
while($i<$nb_champs) {
$nom_champ=$champs["$table"]["$i"];
if ($i!=0) {
$valeurs.=" ,";
}
$valeurs.="$nom_champ=\"$_POST[$nom_champ]\"";
$i++;
}
Ajouter("$table_utilisee",$valeurs);
?>
<script language="Javascript">
window.location="<? echo "".$_SERVER["PHP_SELF"]."?table=$table&msg=1"; ?>";
</script>
<?php
} else {
echo "
<form action=\"".$_SERVER["PHP_SELF"]."?table=$table&q=Ajouter&sq=Valider\" method=\"post\">
<table border=\"0\">";
$i=0;
while($i<$nb_champs) {
$nom_champ=$champs["$table"]["$i"];
$nom_champ_maj=strtoupper($nom_champ);
echo "
<tr>
<td><b>$nom_champ_maj</b></td><td><textarea name=\"$nom_champ\" cols=\"40\" rows=\"3\"></textarea></td>
</tr>";
$i++;
}
echo "
<tr valign=\"top\">
<td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Valider\"></td>
</tr>
</table>
</form>";
}
break;
case "Modifier";
$nb_champs=sizeof($champs["$table"]);
echo "<div class=\"titrecorps\">Modification d'une entrée de la table \"$table\"</div>";
?><br /><?php
echo "<div class=\"souligne\"> Date : rentrez la date de cette manière : 0000-00-00 00:00:00</div>";
echo "<div class=\"souligne\"> Photo : rentrez le nom complet avec l'extension (ex: image.jpg)</div>";
?><br /><?php
$id=$_GET["id"];
if ($sq=="Valider") {
$valeurs="";
$i=0;
while($i<$nb_champs) {
$nom_champ=$champs["$table"]["$i"];
if ($i!=0) {
$valeurs.=" ,";
}
$valeurs.="$nom_champ=\"$_POST[$nom_champ]\"";
$i++;
}
Modifier("$table_utilisee",$valeurs,"id=\"$id\"");
?>
<script language="Javascript">
window.location="<? echo "".$_SERVER["PHP_SELF"]."?table=$table&msg=2"; ?>";
</script>
<?php
} else {
$select=mysql_query("select * from $table_utilisee where id=\"$id\"");
$res=mysql_fetch_array($select);
echo "
<form action=\"".$_SERVER["PHP_SELF"]."?table=$table&q=Modifier&sq=Valider&id=$id\" method=\"post\">
<table border=\"0\">";
$i=0;
while($i<$nb_champs) {
$nom_champ=$champs["$table"]["$i"];
$nom_champ_maj=strtoupper($nom_champ);
echo "
<tr>
<td>$nom_champ_maj</td><td><textarea name=\"$nom_champ\" cols=\"40\" rows=\"3\">".$res["$nom_champ"]."</textarea></td>
</tr>";
$i++;
}
echo "
<tr valign=\"top\">
<td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Valider\"></td>
</tr>
</table>
</form>";
}
break;
case "Supprimer";
echo "<div class=\"titrecorps\">Suppression d'une entrée de la table \"$table\"</div>";
Supprimer("$table_utilisee","id=\"$_GET[id]\"");
?>
<script language="Javascript">
window.location="<? echo "".$_SERVER["PHP_SELF"]."?table=$table&msg=3"; ?>";
</script>
<?php
break;
default:
echo "<div class=\"titrecorps\">Enregistrements de la table \"$table\" :</div>";
?><br /><?php
echo "<div class=\"souligne\"> [M] = Modifier l'info [S] = Supprimer l'info</div>";
?><br /><?php
$ordre=$champs["$table"]["0"];
$select=mysql_query("select * from $table_utilisee order by $ordre ASC");
$nb_enregistrements=mysql_num_rows($select);
$tab_msg=array(
"1"=>"Les données ont été correctement ajoutées !",
"2"=>"Les données ont été correctement modifiées !",
"3"=>"Suppression de l'enregistrement effectué !");
?>
» <?=$nb_enregistrements?> enregistrement(s) dans cette liste.
<?php
if (isset($_GET["msg"])) {
echo "<div class=\"erreur\">".$tab_msg[$_GET["msg"]]."</div>";
}
?>
<table border="1">
<tr align="center"><td><b>ACTIONS</b></td>
<?php
$nb_champs=sizeof($champs["$table"]);
while(list($k,$nom_champ)=each($champs["$table"])) {
$nom_champ_maj=strtoupper($nom_champ);
echo "<td><b>$nom_champ_maj</b></td>";
}
?>
</tr>
<?php
while ($res=mysql_fetch_array($select)) {
echo "<tr><td>[<a href=\"".$_SERVER["PHP_SELF"]."?table=$table&q=Modifier&id=".$res["id"]."\">M</a>] - [<a href=\"javascript:confirmation('".$_SERVER["PHP_SELF"]."?table=$table&q=Supprimer&id=".$res["id"]."');\">S</a>]</td>";
$i=0;
while($i<$nb_champs) {
$nom_champ=$champs["$table"]["$i"];
if ($nom_champ=="mdp") {
echo "<td>********</td>";
} else {
echo "<td>".$res["$nom_champ"]."</td>";
}
$i++;
}
echo "</tr>";
}
?>
</table>
<?php
break;
}
}
mysql_close();
?>
</div>
</div>
</body>
</html>
Seulement je ne le comprend pas assez pour y ajouter des éléments.
Je voudrais rajouter la possibilité d'uploader une photo dans la partie "Ajouter une info".
Et je voudrais pouvoir récupérer cette photo dans l'affichage de l'info.
J'affiche les infos comme ca :
<?php
// on se connecte à notre base
$base = mysql_connect ('', '', '');
mysql_select_db('', $base);
// lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
$sql ='SELECT titre, date, texte_news, photo FROM news ORDER BY date DESC;';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on compte le nombre de news stockées dans la base de données
$nb_news = mysql_num_rows($req);
if ($nb_news == 0) {
echo 'Aucune news enregistrée.';
}
else {
// si on a au moins une news, on l'affiche
while ($data = mysql_fetch_array($req)) {
// on décompose la date
sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
// on affiche les résultats
?><h1><?php
echo stripslashes(htmlentities(trim($data['titre']))) , '<br />';
?></h1><?php
?><p><em><?php
echo 'Le : ' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec , '<br />';
?></em></p><?php
?>
<p><img src="upload/<?=$data['photo']?>"></p>
<p><?php
echo nl2br(stripslashes(htmlentities(trim($data['texte_news'])))) , '<br />';
?></p><?php
}
}
// on libère l'espace mémoire alloué à cette requête
mysql_free_result ($req);
// on ferme la connexion à la base de données
mysql_close ();
?>
Merci à tous.