Ier PROBLEME
en fait pour créer une table a peu près de la meme manière que celle proposé par Phpmyadmin j'ai effectivement créer un formulaire.mon code est le suivant
<?php require_once('connexion.php'); ?>
<?php
session_start(); // On relaye la session
if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin"){ // vérification sur la session authentification (la session est elle enregistrée ?)
// ici les éventuelles actions en cas de réussite de la connexion
}
else {
header("Location:index.php?erreur=intru"); // redirection en cas d'echec
}
?>
<?php
// ------ AJOUT D'UNE TABLE --------
if(isset($_POST['id'])){ // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé)
if(($_POST['id'] == "") || ($_POST['nom_table'] == "")){ // si id et le nom de la table non spécifiés >> message d'erreur
header("Location:creer table.php?erreur=empty");
}
else if($_POST['nom_table'] == $_POST['nom_table2']){ // on vérifie si le mot de passe et le mot de passe confirmé ont la même valeur
// on passe toutes les variables $POST en variables
$id = $_POST['id'];
$nom_table = $_POST['nom_table'];
$champ_1 = $_POST['champ_1'];
$champ_2 = $_POST['champ_2'];
$champ_3 = $_POST['champ_3'];
$champ_4 = $_POST['champ_4'];
$champ_5 = $_POST['champ_5'];
$champ_6 = $_POST['champ_6'];
$champ_7 = $_POST['champ_7'];
$champ_8 = $_POST['champ_8'];
$champ_9 = $_POST['champ_9'];
// on fait la création de la base de données
$add_table = 'CREATE TABLE IF NOT EXISTS `nom_table` (';
$add_table .= '`id` int(11) NOT NULL auto_increment,';
$add_table .= '`champ_1` text NOT NULL,';
$add_table .= '`champ_2` text NOT NULL,';
$add_table .= '`champ_3` int NOT NULL,';
$add_table .= '`champ_4` text NOT NULL,';
$add_table .= '`champ_5` text NOT NULL,';
$add_table .= '`champ_6` int NOT NULL,';
$add_table .= '`champ_7` text NOT NULL,';
$add_table .= '`champ_8` text NOT NULL,';
$add_table .= '`champ_9` int NOT NULL,';
$add_table .= 'PRIMARY KEY (`id`),';
$add_table .= 'UNIQUE KEY `id_2` (`id`),';
$add_table .= 'KEY `id` (`id`)';
$add_table .= ') ENGINE=MyISAM;';
mysql_select_db($database_dbprotect, $dbprotect);
$result = mysql_query($add_table, $dbprotect) or die(mysql_error());
header("Location:creer table.php?add=ok"); // redirection si création réussie
}
else{
header("Location:creer table.php?erreur=nom_table"); // redirection si le nom_table est différent du nom_table2
}
}
// requête sur tous les utilisateurs recensés dans la base (on fait un tri par nom)
?>
<html>
<head>
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style2 {color: #0000FF}
.Style5 {color: #FF0000}
.Style6 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
.Style8 {font-size: 12px}
.Style9 {font-size: 14px}
-->
</style>
</head>
<body>
<form action="" method="post" name="add" class="Style6">
<p align="center"><strong><span class="Style9">- : : : GESTION BDD SNCF : : : -</span><br>
</strong><em>Administration</em></p>
<p align="center"><strong>
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "nom_table")) { // Affiche l'erreur ?><span class="Style5">Veuillez entrer deux fois le nom de votre table SVP</span><?php } ?>
<?php if(isset($_GET['add']) && ($_GET['add'] == "ok")) { // Affiche l'erreur ?><span class="Style2">La table a été créé avec succès !</span><?php } ?>
<?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "empty")) { // Affiche l'erreur ?><span class="Style5">Un petit oubli non ? Veuillez renseigner au moins un ID et le nomde la table SVP</span><?php } ?>
</strong></p>
<p align="center"><strong><u>Créer une table</u></strong></p>
<table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee">
<tr>
<td width="40"><span class="Style8">id</span></td>
<td width="144"><input name="id" type="text" id="id"></td>
</tr>
<tr>
<td width="40"><span class="Style8">nom de la table</span></td>
<td width="144"><input name="nom_table" type="text" id="nom_table"></td>
</tr>
<tr>
<td><span class="Style8">Répéter votre nom de table </span></td>
<td><input name="nom_table2" type="text" id="nom_table2"></td>
</tr>
<tr>
<td><span class="Style8">champ1</span></td>
<td><input name="champ_1" type="text" id="champ_1"></td>
</tr>
<tr>
<td><span class="Style8">champ2</span></td>
<td><input name="champ_2" type="text" id="champ_2"></td>
</tr>
<tr>
<td><span class="Style8">champ3</span></td>
<td><input name="champ_3" type="text" id="champ_3"></td>
</tr>
<tr>
<td><span class="Style8">champ4</span></td>
<td><input name="champ_4" type="text" id="champ_4"></td>
</tr>
<tr>
<td><span class="Style8">champ5</span></td>
<td><input name="champ_5" type="text" id="champ_5"></td>
</tr>
<tr>
<td><span class="Style8">champ6</span></td>
<td><input name="champ_6" type="text" id="champ_6"></td>
</tr>
<tr>
<td><span class="Style8">champ7</span></td>
<td><input name="champ_7" type="text" id="champ_7"></td>
</tr> <tr>
<td><span class="Style8">champ8</span></td>
<td><input name="champ_8" type="text" id="champ_8"></td>
</tr>
<tr>
<td><span class="Style8">champ9</span></td>
<td><input name="champ_9" type="text" id="champ_9"></td>
</tr>
<tr>
<td height="50" colspan="2"><div align="center">
<input type="submit" name="Submit" value="Créer cette table">
</div></td>
</tr>
</table>
</form>
<p> </p>
<p><a href="accueil.php"><strong><Retour accueil</strong></a></p>
</div>
</form>
<p align="center"><span class="Style6">Script par Grégoire ONGUEN ONANA</span></p>
</body>
</html>
la table est effectivement créer sous le nom de nom_table.En fait le nom de la table que j'ai rentré dans le formulaire pour la création de ma table n'est pas pris en compte...De plus j'aimerai améliorer ce formulaire de telle facon qu'elle ressemble plus à celle de PHPmyadmin c'est a dire on a un premier formulaire du type:
- creér un nouvelle table dans votre base de donnée
nom de votre table
nombre de champs (on veut par exemple X champs)
après avoir rentré ces données et l'avoir validé on a un deuxième formulaire qui apparait avec X champs et on a:
-nom du champ (on rentre le nom du champs), types(int,tiyint,varchar,text,date etc...), taille(255 par exemple) etc...un peu pareil que Phpmyadmin...
je sais pas trop si c'est possible mais si quelqu'un a un idée ou un site je suis preneur
IIeme PROBLEME
Pour afficher le photos j'ai fait le script suivant
<html>
<title>Annuaire</title>
<body>
<?
/// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'gbs';
/// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$code_ville = $_POST["code_ville"];
/// requête SQL qui compte le nombre total d'enregistrement dans la table et qui récupère tous les enregistrements
$select = "SELECT nom_gare,province,département,photos FROM gare WHERE code_ville = $code_ville";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
$select1 = "SELECT types_projet,debut_projet,fins_projet,frais,photos,plan FROM projet WHERE code_ville = $code_ville";
$result1 = mysql_query($select1,$link) or die ('Erreur : '.mysql_error() );
$total1 = mysql_num_rows($result1);
$select2 = "SELECT types_travaux,debut_travaux,fins_travaux,frais,photos,plan FROM travaux WHERE code_ville = $code_ville";
$result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );
$total2 = mysql_num_rows($result2);
/// si on a récupéré un résultat on l'affiche.
if($total) {
/// debut du tableau
echo '<table bgcolor="#FFFFFF">'."\n";
/// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom de la gare</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Province</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Département</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Photos</u></b></td>';
echo '</tr>'."\n";
/// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row["nom_gare"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["province"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["département"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["photos"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
/// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
/// on libère le résultat
mysql_free_result($result);
/// si on a récupéré un résultat on l'affiche.
if($total1) {
/// debut du tableau
echo '<table bgcolor="#FFFFFF">'."\n";
/// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Types_projet</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Debut_projet</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Fins_projet</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Frais</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Photos</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Plan</u></b></td>';
echo '</tr>'."\n";
/// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result1)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row["types_projet"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["debut_projet"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["fins_projet"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["frais"].'</td>';
echo '<td bgcolor="#CCCCCC">'.'<a href = "\'$row[\'photos\']\'" <img src=\'$row[\'photos\']\'> </a>';
echo 'ddddddddddddd'.$row['photos'].'<br>'.'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["plan"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
/// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
/// on libère le résultat
mysql_free_result($result1);
/// si on a récupéré un résultat on l'affiche.
if($total2) {
/// debut du tableau
echo '<table bgcolor="#FFFFFF">'."\n";
/// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Types_travaux</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Debut_travaux</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Fins_travaux</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Frais</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Photos</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Plan</u></b></td>';
echo '</tr>'."\n";
/// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result2)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row["types_travaux"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["debut_travaux"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["fins_travaux"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["frais"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["photos"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["plan"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
/// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
/// on libère le résultat
mysql_free_result($result2);
?>
</body>
</html>
pour afficher les photos j'ai taper le code suivant
echo '<td bgcolor="#CCCCCC">'.'<a href = "\'$row[\'photos\']\'" <img src=\'$row[\'photos\']\'> </a>';
echo 'ddddddddddddd'.$row['photos'].'<br>'.'</td>';
le chemin ou sont mes photos est C:\Program Files\EasyPHP1-8\www\GBS\photos
lorsque je clique sur cette addresse qui représente le lien vers les photos j'ai l'information suivante qui s'affiche: the request url /GBS/'$rows['photos']' was not found in this server..
merci pour votre aide