Problème html php sql

Fermé
kowen Messages postés 3 Date d'inscription lundi 19 mai 2008 Statut Membre Dernière intervention 5 juin 2008 - 19 mai 2008 à 14:00
kowen Messages postés 3 Date d'inscription lundi 19 mai 2008 Statut Membre Dernière intervention 5 juin 2008 - 25 mai 2008 à 16:19
Bonjour tous le monde,

j'ai un gros problème en programmation et sur internet je ne trouve aucune solution ou j'ai pas fait les bon sites.je fais une application en php html via une base de données. j'utilise PHPmyadmin et ma première question est celle de savoir s' il est possible de faire un script en php html qui me génèrera une interface graphique pour créer une table quelconque de X champs....en fait le principe serait le meme que celui de PHPmyadmin....on rentre dans le formulaire le nom de la table,le nombre de champs,puis on rentre les valeurs,ainsi que son type(varchar, int,etc...)...Si c'est possible alors comment faire SVP!!!!Ou mieu connaissez vous un sites capable de me l'expliquer...

ma 2eme question es celle de savoir s'il est possible de faire un script pour afficher toutes les photos d'un répertoire que j'appellerai D.en fait dans ma base de données j'ai un champ photo qui à pour valeur le chemin ou se trouve ces photos...faudrait il que j'écrive un programme pour afficher chaque photos du répertoire D ou je pourrais faire un programme pour afficher toutes les photos du répertoire D.Si c'est possible alors comment faire SVP!!!!Ou mieu connaissez vous un sites capable de me l'expliquer...


merci d'avance pour votre aide....
A voir également:

2 réponses

mouè Messages postés 31 Date d'inscription mardi 15 avril 2008 Statut Membre Dernière intervention 5 juin 2008
19 mai 2008 à 16:24
oui ça doit être possible de créer une table en renseignant les infos dans un formulaire.

Il faut d'abord que tu crée ton formulaire HTML en nommant bien les champs: nomtable,champ, etc.

Ensuite tu crées une page php et tu fais un truc du genre:
$nomtable=$_POST['nomtable'];
$champ1=$_POST['champ1'];
$champ2=$_POST['champ2'];
etc....

Puis tu te connectes à la base de données :

$cnx=mysql_connect("localhost", "" , "");
$db=mysql_select_db("nombase")or die("erreur de connexion a la base de donnees");

Et tu fais ta requête avec les différentes variables:

$createtable=CREATE TABLE "'.$nomtable.'"
("'.$champ1.'" "'.$type_de_données_champ1.'",
"'.$champ2.'" "'.$type_de_données_champ1.'",
... )



Voila pour le fonctionnement je pense, après j'ai pas trop fait attention à la syntaxe.




Pour ta deuxième question, il est possible d'afficher toutes les images ou alors uniquement celle que tu veux.


$cnx=mysql_connect("localhost", "" , "");
$db=mysql_select_db("tabase")or die("erreur de connexion a la base de donnees");
$req_afficheimage= "SELECT image FROM cado WHERE image="imagechoisie";
$resultat = mysql_query($req_afficheimage) or die("Machin truc pas chouette ");
$row_rechimage=mysql_fetch_row($resultat);
$image = $row_rechimage[0];


echo '<img src="'.$image.'" width="300" height="300" class="img" />';



Si tu veux toutes les afficher faut faire une boucle WHILE.


Voila après faut que tu creuses un peu le sujet
0
kowen Messages postés 3 Date d'inscription lundi 19 mai 2008 Statut Membre Dernière intervention 5 juin 2008
25 mai 2008 à 16:19
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 &eacute;t&eacute; cr&eacute;&eacute; avec succ&egrave;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&eacute;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&eacute;p&eacute;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&eacute;er cette table">
      </div></td>
    </tr>
  </table>
  </form>

        <p>&nbsp;</p>
        <p><a href="accueil.php"><strong><Retour accueil</strong></a></p>
      </div>
    </form>
    <p align="center"><span class="Style6">Script par Gr&eacute;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&eacute;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
0