Php et mysql
mame
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, je veux recupérer les champs de saisie dans la boucle et en un clic ajouté les données dans la table correspondante,de méme pour la suppression et la modification et l'actualiser sur la méme page afin que la page puisse afficher les nouveaux données saisies . Voici mon code ci-dessus :
<?php
$host = "localhost";
$user = "root";
$passwd = "";
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
?>
<!DOCTYPE html>
<html>
<head>
<title>GROUPE 8</title>
<meta charset="utf-8" />
<!--link rel= "stylesheet" href="styles.css"-->
</head>
<body bgcolor="lightgreen">
<center>
<form method="post" action="index.php">
<table>
<tr><td colspan="2" align="center">Formulaire<hr></td></tr>
<tr>
<td><label>Base de données : </label></td>
<td>
<select name="database" size="1" id="dblist" onChange="submit();">
<option selected>
<?php if (isset($_POST['database'])) {
echo $_POST['database'];
}
?>
<?php
$sql = "show databases";
$req = mysql_query($sql);
while($row = mysql_fetch_row($req)){
$col = $row[0];
echo "<option value=\"$col\">$col";
}
?>
</select>
</td>
</tr>
<tr>
<td><label>Table : </label></td>
<td>
<select name="table" size="1">
<?php
if (isset($_POST['database'])){
mysql_select_db($_POST['database']) or die("erreur de connexion a la base de donnees");
$sql2 = "show tables";
$req2 = mysql_query($sql2);
while($row2 = mysql_fetch_row($req2)){
$col2 = $row2[0];
echo " <option value=\"$col2\">$col2 ";
}
}
?>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Valider" name="valid">
</td>
</tr>
</table>
</center>
<!-- ----------------------------------------------------------------------------------------------------------------------- -->
<?php
if (isset($_POST['valid']) && ($_POST['table'] != "")){
include ("connect.php");
?>
<center>
<table border="1">
<tr>
<?php
$query1 = "show columns from ".$tab;
$result1 = mysql_query($query1);
while($row1 = mysql_fetch_row($result1)){
$col = $row1[0];
echo "<th>$col</th>";
}
?>
<th>Actions</th>
</tr>
<?php
$query2 = "SELECT * FROM ".$tab."";
$result2 = mysql_query($query2);
$a = mysql_num_fields($result2);
$row1 = mysql_fetch_row($result1);
while($ligne = mysql_fetch_row($result2)){
echo "<tr>";
for ($j=0; $j<$a; $j++){
$type = mysql_field_type($result2, $j);
$name[] = mysql_field_name($result2, 0);
$flag = mysql_field_flags($result2, $j);
if ($type == "blob"){
echo "<td><textarea name=' $name[$j] '>$ligne[$j]</textarea></td>";
}
elseif($type == "string" && $flag == "enum"){
echo "<td><select name='liste' size='1'>";
echo "<option value=\"$ligne[$j]\">$ligne[$j]";
echo "</select></td>";
}
elseif($type == "string" && $flag != " enum "){
echo "<td><input type='text' value='$ligne[$j]'></td>";
}else{
echo "<td>$ligne[$j]</td>";
}
}
echo "<td><input type=\"submit\" name=\"modifier\" value=\"Modifier\">
<input type=\"submit\" name=\"supprimer\" value=\"Supprimer\"></td>";
echo "</tr>";
}
echo "<tr>";
for ($j=0; $j<$a; $j++){
$type = mysql_field_type($result2, $j);
$name = mysql_field_name($result2, $j);
$flag = mysql_field_flags($result2, $j);
if ($type == "blob"){
echo "<td><textarea name='$name' id='add'></textarea></td>";
//echo "<td><input type='textarea' value='$ligne[$j]'></td>";
}
elseif($type == "string" && $flag == "enum"){
//echo "<td><input type='text' value='$ligne[$j] -- $flag'></td>";
echo "<td><select name='liste' size='1' id='add'>";
echo "<option value=\"$ligne[$j]\">";
echo "</select></td>";
}
elseif($type == "string" && $flag != "enum"){
echo "<td><input type=\'text\' name=\'ajout\' value=\'$ligne[$j]\' id=\'add\'></td>";
}else{
echo "<td></td>";
}
}
echo "<td align=\"center\"><input type=\"submit\" name=\"ajouter\" value=\"Ajouter\" ></td>";
echo "</tr>";
?>
</form>
</table>
</center>
<?php
}
?>
<?php
if (isset($_POST['supprimer']) ){
echo "<br><br><br><br>";
echo " <center>Table supprimer </center>";
}
?>
<?php
if (isset($_POST['modifier']) ){
echo "<br><br><br><br>";
echo " <center>Table modifier </center>";
}
?>
<?php
if (isset($_POST['ajouter']) ){
echo "<br><br><br><br>";
echo " <center>Table ajouter </center>";
}
?>
</body>
</html>
Voici le code connect.php :
<?php
session_start();
?>
<?php
$host = "localhost";
$user = "root";
$_session["database"] = $_POST['database'];
$bdd = $_session["database"] ;
$passwd = "";
$_session["table"] = $_POST['table'];
$tab = $_session["table"];
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
?>
<?php
$host = "localhost";
$user = "root";
$passwd = "";
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
?>
<!DOCTYPE html>
<html>
<head>
<title>GROUPE 8</title>
<meta charset="utf-8" />
<!--link rel= "stylesheet" href="styles.css"-->
</head>
<body bgcolor="lightgreen">
<center>
<form method="post" action="index.php">
<table>
<tr><td colspan="2" align="center">Formulaire<hr></td></tr>
<tr>
<td><label>Base de données : </label></td>
<td>
<select name="database" size="1" id="dblist" onChange="submit();">
<option selected>
<?php if (isset($_POST['database'])) {
echo $_POST['database'];
}
?>
<?php
$sql = "show databases";
$req = mysql_query($sql);
while($row = mysql_fetch_row($req)){
$col = $row[0];
echo "<option value=\"$col\">$col";
}
?>
</select>
</td>
</tr>
<tr>
<td><label>Table : </label></td>
<td>
<select name="table" size="1">
<?php
if (isset($_POST['database'])){
mysql_select_db($_POST['database']) or die("erreur de connexion a la base de donnees");
$sql2 = "show tables";
$req2 = mysql_query($sql2);
while($row2 = mysql_fetch_row($req2)){
$col2 = $row2[0];
echo " <option value=\"$col2\">$col2 ";
}
}
?>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Valider" name="valid">
</td>
</tr>
</table>
</center>
<!-- ----------------------------------------------------------------------------------------------------------------------- -->
<?php
if (isset($_POST['valid']) && ($_POST['table'] != "")){
include ("connect.php");
?>
<center>
<table border="1">
<tr>
<?php
$query1 = "show columns from ".$tab;
$result1 = mysql_query($query1);
while($row1 = mysql_fetch_row($result1)){
$col = $row1[0];
echo "<th>$col</th>";
}
?>
<th>Actions</th>
</tr>
<?php
$query2 = "SELECT * FROM ".$tab."";
$result2 = mysql_query($query2);
$a = mysql_num_fields($result2);
$row1 = mysql_fetch_row($result1);
while($ligne = mysql_fetch_row($result2)){
echo "<tr>";
for ($j=0; $j<$a; $j++){
$type = mysql_field_type($result2, $j);
$name[] = mysql_field_name($result2, 0);
$flag = mysql_field_flags($result2, $j);
if ($type == "blob"){
echo "<td><textarea name=' $name[$j] '>$ligne[$j]</textarea></td>";
}
elseif($type == "string" && $flag == "enum"){
echo "<td><select name='liste' size='1'>";
echo "<option value=\"$ligne[$j]\">$ligne[$j]";
echo "</select></td>";
}
elseif($type == "string" && $flag != " enum "){
echo "<td><input type='text' value='$ligne[$j]'></td>";
}else{
echo "<td>$ligne[$j]</td>";
}
}
echo "<td><input type=\"submit\" name=\"modifier\" value=\"Modifier\">
<input type=\"submit\" name=\"supprimer\" value=\"Supprimer\"></td>";
echo "</tr>";
}
echo "<tr>";
for ($j=0; $j<$a; $j++){
$type = mysql_field_type($result2, $j);
$name = mysql_field_name($result2, $j);
$flag = mysql_field_flags($result2, $j);
if ($type == "blob"){
echo "<td><textarea name='$name' id='add'></textarea></td>";
//echo "<td><input type='textarea' value='$ligne[$j]'></td>";
}
elseif($type == "string" && $flag == "enum"){
//echo "<td><input type='text' value='$ligne[$j] -- $flag'></td>";
echo "<td><select name='liste' size='1' id='add'>";
echo "<option value=\"$ligne[$j]\">";
echo "</select></td>";
}
elseif($type == "string" && $flag != "enum"){
echo "<td><input type=\'text\' name=\'ajout\' value=\'$ligne[$j]\' id=\'add\'></td>";
}else{
echo "<td></td>";
}
}
echo "<td align=\"center\"><input type=\"submit\" name=\"ajouter\" value=\"Ajouter\" ></td>";
echo "</tr>";
?>
</form>
</table>
</center>
<?php
}
?>
<?php
if (isset($_POST['supprimer']) ){
echo "<br><br><br><br>";
echo " <center>Table supprimer </center>";
}
?>
<?php
if (isset($_POST['modifier']) ){
echo "<br><br><br><br>";
echo " <center>Table modifier </center>";
}
?>
<?php
if (isset($_POST['ajouter']) ){
echo "<br><br><br><br>";
echo " <center>Table ajouter </center>";
}
?>
</body>
</html>
Voici le code connect.php :
<?php
session_start();
?>
<?php
$host = "localhost";
$user = "root";
$_session["database"] = $_POST['database'];
$bdd = $_session["database"] ;
$passwd = "";
$_session["table"] = $_POST['table'];
$tab = $_session["table"];
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
?>
A voir également:
- Php et mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community download - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Retour a la ligne php - Forum Webmastering
2 réponses
Bonjour
Il n'y a pas de question. Quel problème as-tu ? Quel(s) message(s) d'erreur ?
On voit quand même des trucs louches dans ton code :
-Le traitement du formulaire est mélangé avec sa génération, pas très bon pour la clarté du code. Ça peut même vouloir dire que tu n'as pas une idée très claire du fait que le script s'exécute d'un seul coup, et n'attend pas que tu aies saisi le nom de la base pour te demander celui de la table.
-Un include ("connect.php"); au milieu du code alors que tu t'es déjà connécté à ta base au début, ça fait double emploi. Sans compter que le session_start au milieu de ton code, donc après le début d'envoi des données <!DOCTYPE> etc..) a toutes les chances de ne pas marcher.
-Le tableau des variables de session, c'est $_SESSION, pas $_session.
Il n'y a pas de question. Quel problème as-tu ? Quel(s) message(s) d'erreur ?
On voit quand même des trucs louches dans ton code :
-Le traitement du formulaire est mélangé avec sa génération, pas très bon pour la clarté du code. Ça peut même vouloir dire que tu n'as pas une idée très claire du fait que le script s'exécute d'un seul coup, et n'attend pas que tu aies saisi le nom de la base pour te demander celui de la table.
-Un include ("connect.php"); au milieu du code alors que tu t'es déjà connécté à ta base au début, ça fait double emploi. Sans compter que le session_start au milieu de ton code, donc après le début d'envoi des données <!DOCTYPE> etc..) a toutes les chances de ne pas marcher.
-Le tableau des variables de session, c'est $_SESSION, pas $_session.
mame
ok ,je voix bien ce que tu veux dire et c'est corrigé sinon mon probléme majeur est que le tableau est généré dinamiquement,à chaque fin de ligne il y'a une il y'a deux bouton qui y sont respectivement : modifier et supprimer. Je voudrais en un clic du bouton supprimer ,de récupérer l'id de la ligne correspondante et ensuite supprimer cette derniere de la table correspondante .Et idem pour le modifier mais helas là il va faloir enregistrer les modifications qui ont été apporter dans les <input type= text .../> et en un clic aussi du bouton modifier, de recuperer les saisies grace à l'id pour l'enregistrer dans la table . merci davance .
ok ,je voix bien ce que tu veux dire et c'est corrigé
Si c'est corrigé, il n'y a plus de problème.
En fait si, il y a encore des problèmes ? Alors, ce n'est pas corrigé.
Visiblement, tes idées ne sont pas très claires alors que tu te lances dans quelque chose de compliqué. J'ai la vague impression que tu essayes de ré-écrire phpmyadmin.
Ma réponse risque de ne pas te plaire, mais le meilleur conseil que j'ai à te donner quand je vois ta façon d'écrire et le projet auquel tu t'attaques, c'est de t'initier d'abord à php et à mysql et surtout au mécanisme des formulaires sur quelque chose de beaucoup plus modeste.
Si c'est corrigé, il n'y a plus de problème.
En fait si, il y a encore des problèmes ? Alors, ce n'est pas corrigé.
Visiblement, tes idées ne sont pas très claires alors que tu te lances dans quelque chose de compliqué. J'ai la vague impression que tu essayes de ré-écrire phpmyadmin.
Ma réponse risque de ne pas te plaire, mais le meilleur conseil que j'ai à te donner quand je vois ta façon d'écrire et le projet auquel tu t'attaques, c'est de t'initier d'abord à php et à mysql et surtout au mécanisme des formulaires sur quelque chose de beaucoup plus modeste.