Alter table et php

Fermé
Utilisateur anonyme - 29 avril 2014 à 11:40
 Utilisateur anonyme - 5 mai 2014 à 11:42
bonjour,
j'ai un probleme concernant la syntaxe du requéte alter table à l'interieure du php.
mon but est de modier des noms de columns à partir d'un formulaire,je l'ai essayé par ce code mais rien de nouveau.voila mon code:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index1.php');
exit();
}
?>
<html>
<head>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen"/>
<script>
function remplir()
{
var nb = document.getElementById(1).value ;
var i;
for (i=2;i<12;i++)
{
document.getElementById(i).disabled =true;
}

for(i=1; i<=(nb*2)+1;i++)
{
document.getElementById(i).disabled =false;
}

nb = document.getElementById(1).value ;
}
</script>
</head>
<body>
<style>
body
{
background-image:url('images/1.jpg');

}
</style>

<div class="tout" align="center">
<form method="Post">
<table border="2" align="center" class="item">
<tr>
<td colspan="2">Seuil:</td>
<td><input type="text" id="0"/></td>
<tr>
<td colspan="2">nbs de ds:</td>
<td><input type="text" id="1" oninput="remplir();"/></td>
<tr><td>note1 :</td>
<td><input type="text" disabled="true" name="n1" value="nom" id="2"/></td><td><input type="text" disabled="true" name="p1" value="%" id="3"/></td>
</tr>
<tr><td>note2 :</td>
<td><input type="text" disabled="true" id="4" name="n2" value="nom"/></td><td><input type="text" name="p2" disabled="true" id="5" value="%"/></td>
</tr>
<tr><td>note3 :</td>
<td><input type="text" disabled="true" name="n3" id="6" value="nom"/></td><td><input type="text" id="7" disabled="true" name="p3" value="%"/></td>
</tr>
<tr><td>note4 :</td>
<td><input type="text" disabled="true" id="8" name="n4" value="nom"/></td><td><input type="text" id="9" name="p4" disabled="true" value="%"/></td>
</tr>
<tr><td>note5 :</td>
<td><input type="text" disabled="true" id="10" name="n5" value="nom"/></td><td><input type="text" disabled="true" id="11" name="p5" value="%"/></td>
</tr>
</table>
<input type='submit' name='submit1' value='Envoyer' />
<input type='RESET' name='submit' value='reset' color="violet"/>

</form>
</div>
<?php
$c=$_GET['m'];
$n1=$_POST['n1'];
$p1=$_POST['p1'];
$n2=$_POST['n2'];
$p2=$_POST['p1'];
$n3=$_POST['n3'];
$p3=$_POST['p1'];
$n4=$_POST['n4'];
$p4=$_POST['p1'];
$n5=$_POST['n5'];
$p5=$_POST['p1'];
if (isset($_POST['submit1'])){
switch($c){
case 'algo':
$table='algorithme';
$s= mysql_query(" ALTER TABLE $table CHANGE note1 $n1 DOUBLE NOT NULL ");
$sq= mysql_query(" ALTER TABLE $table CHANGE p1 $p1 DOUBLE NOT NULL ");
$sql= mysql_query(" ALTER TABLE $table CHANGE note2 $n2 DOUBLE NOT NULL ");
$sq1= mysql_query(" ALTER TABLE $table CHANGE p2 $p2 DOUBLE NOT NULL ");
$sql2= mysql_query(" ALTER TABLE $table CHANGE note3 $n3 DOUBLE NOT NULL ");
$sq3= mysql_query(" ALTER TABLE $table CHANGE p4 $p4 DOUBLE NOT NULL ");
$sql4= mysql_query(" ALTER TABLE $table CHANGE note5 $n5 DOUBLE NOT NULL ");
$sq5= mysql_query(" ALTER TABLE $table CHANGE p5 $p5 DOUBLE NOT NULL ");
break;
case 'ana':
mysql_connect("localhost","root","123") or die(mysql_error());
mysql_select_db("sweet")or die('Pas de Base de donn\351');
$table="analyse";
$s= " ALTER TABLE $table CHANGE 'note1' $n1 DOUBLE NOT NULL ";
$sq= mysql_query(" ALTER TABLE $table CHANGE 'p1' $p1 DOUBLE NOT NULL ");
$sql= mysql_query(" ALTER TABLE $table CHANGE 'note2' $n2 DOUBLE NOT NULL ");
$sq1= mysql_query(" ALTER TABLE $table CHANGE 'p2' $p2 DOUBLE NOT NULL ");
$sql2= mysql_query(" ALTER TABLE $table CHANGE 'note3' $n3 DOUBLE NOT NULL ");
$sq3= mysql_query(" ALTER TABLE $table CHANGE 'p4' $p4 DOUBLE NOT NULL ");
$sql4= mysql_query(" ALTER TABLE $table CHANGE 'note5' $n5 DOUBLE NOT NULL ");
$sq5= mysql_query(" ALTER TABLE $table CHANGE 'p5' $p5 DOUBLE NOT NULL ");
echo 'modification reussite';
break;
default:
echo "Desole mais une erreur s'est produite ";
}
}
?>
</body>
</html>
tjrs le msg qui s'affiche est celui de default.qlq m'aider et merci d'avance
A voir également:

3 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 avril 2014 à 16:08
Bonjour,

À mon avis le problème vient de là :
$c=$_GET['m']; 

Comment appelles-tu ta page ? Où est défini 'm' ?

Xavier
0
Utilisateur anonyme
30 avril 2014 à 19:00
Bonjour,
cette page s'appelle "modules.php" voila l'extrait du code où j'ai mis la variable 'm':

<input type="submit" id="Button1" href="?m=algo" name="1" value="Algorithmique" style="position:absolute;left:16px;top:19px;width:377px;height:25px;z-index:0;">
<input type="submit" id="Button2" href="?m=ldp" name="2" value="Language de programmation" style="position:absolute;left:15px;top:54px;width:377px;height:25px;z-index:1;">
mercii
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 30/04/2014 à 20:03
OK.
Mais le problème, c'est que quand tu envoies le formulaire, l'URL perd le m=...
Tu peux le voir dans ta barre d'adresse après avoir cliqué sur le bouton.
Du coup, $_GET['m'] n'est pas défini.

Pour corriger, le mieux à mon avis, c'est de mettre, juste après <form> :
<input type='hidden' name='m' value='<?php echo $_GET['m']; ?>' />

Puis de remplacer
$c=$_GET['m'];
par
$c=$_POST['m'];


Comme ça, ta variable m sera passée en paramètre (caché) dans le formulaire, comme les autres variables.

Xavier
0
Utilisateur anonyme
30 avril 2014 à 23:42
je l'ai ajouté mais meme probleme.
page des valeurs que je veux les récuperer:

form method="POST">
<input type='hidden' name='m' value="<?php echo $_GET['m']; ?>" />
<h3 style="display:block"><a href="#">Algorithmique & Base de la programmation</a></h3>
<div>
<input type="submit" id="Button1" href="?m=algo" name="1" value="Algorithmique" style="position:absolute;left:16px;top:19px;width:377px;height:25px;z-index:0;">
<input type="submit" id="Button2" href="?m=ldp" name="2" value="Language de programmation" style="position:absolute;left:15px;top:54px;width:377px;height:25px;z-index:1;">
page où j'exploite la variable 'm':

$c=$_POST['m'];
$n1=$_POST['n1'];
$p1=$_POST['p1'];
$n2=$_POST['n2'];
$p2=$_POST['p1'];
$n3=$_POST['n3'];
$p3=$_POST['p1'];
$n4=$_POST['n4'];
$p4=$_POST['p1'];
$n5=$_POST['n5'];
$p5=$_POST['p1'];
if (isset($_POST['submit1'])){
switch($c){
case 'ana':
mysql_connect("localhost","root","123") or die(mysql_error());
mysql_select_db("sweet")or die('Pas de Base de donn\351');
$table="analyse";
$s= mysql_query(" ALTER TABLE $table CHANGE 'note1' $n1 DOUBLE NOT NULL ");
$sq= mysql_query(" ALTER TABLE $table CHANGE 'p1' $p1 DOUBLE NOT NULL ");
$sql= mysql_query(" ALTER TABLE $table CHANGE 'note2' $n2 DOUBLE NOT NULL ");
$sq1= mysql_query(" ALTER TABLE $table CHANGE 'p2' $p2 DOUBLE NOT NULL ");
$sql2= mysql_query(" ALTER TABLE $table CHANGE 'note3' $n3 DOUBLE NOT NULL ");
$sq3= mysql_query(" ALTER TABLE $table CHANGE 'p3' $p3 DOUBLE NOT NULL ");
$sql4= mysql_query(" ALTER TABLE $table CHANGE 'note4' $n4 DOUBLE NOT NULL ");
$sq5= mysql_query(" ALTER TABLE $table CHANGE 'p4' $p4 DOUBLE NOT NULL ");
$sql4= mysql_query(" ALTER TABLE $table CHANGE 'note5' $n5 DOUBLE NOT NULL ");
$sq5= mysql_query(" ALTER TABLE $table CHANGE 'p5' $p5 DOUBLE NOT NULL ");
echo 'modification reussite';
break;
default:
echo "Desole mais une erreur s'est produite ";
}
merci bcp :)
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
2 mai 2014 à 15:02
Bonjour,

J'ai l'impression que tu n'as pas mis le <input hidden> sur la bonne page !
Tu l'as mis avec tes boutons, alors qu'il faut le mettre avec les valeurs à rentrer n1, p1, etc. que tu mets dans ton premier message.

Xavier
0
Utilisateur anonyme
2 mai 2014 à 16:44
comme ca:

<form method="Post">
<input type='hidden' name='m' value='<?php echo $_GET['m']; ?>'
<table border="2" align="center" class="item">
<tr>
<td colspan="2">Seuil:</td>
<td><input type="text" id="0"/></td>
<tr>
<td colspan="2">nbs de ds:</td>
<td><input type="text" id="1" oninput="remplir();"/></td>
<tr><td>note1 :</td>
<td><input type="text" disabled="true" name="n1" value="nom" id="2"/></td><td><input type="text" disabled="true" name="p1" value="%" id="3"/></td>
</tr>
<tr><td>note2 :</td>
<td><input type="text" disabled="true" id="4" name="n2" value="nom"/></td><td><input type="text" name="p2" disabled="true" id="5" value="%"/></td>
</tr>
<tr><td>note3 :</td>
<td><input type="text" disabled="true" name="n3" id="6" value="nom"/></td><td><input type="text" id="7" disabled="true" name="p3" value="%"/></td>
</tr>
<tr><td>note4 :</td>
<td><input type="text" disabled="true" id="8" name="n4" value="nom"/></td><td><input type="text" id="9" name="p4" disabled="true" value="%"/></td>
</tr>
<tr><td>note5 :</td>
<td><input type="text" disabled="true" id="10" name="n5" value="nom"/></td><td><input type="text" disabled="true" id="11" name="p5" value="%"/></td>
</tr>
</table>
<input type='submit' name='submit1' value='Envoyer' />
<input type='RESET' name='submit' value='reset' color="violet"/>

</form>
</div>
<?php
$c=$_POST['m'];
$n1=$_POST['n1'];
$p1=$_POST['p1'];
$n2=$_POST['n2'];
$p2=$_POST['p2'];
$n3=$_POST['n3'];
$p3=$_POST['p3'];
$n4=$_POST['n4'];
$p4=$_POST['p4'];
$n5=$_POST['n5'];
$p5=$_POST['p5'];
mysql_connect("localhost","root","123") or die(mysql_error());
mysql_select_db("sweet")or die('Pas de Base de donn\351');
if (isset($_post['submit1'])){
switch($c){
case '$ana':
echo $c;
$table='analyse';
$sql= mysql_query(" ALTER TABLE $table CHANGE note1 $n1 DOUBLE NOT NULL ");
$sq= mysql_query(" ALTER TABLE $table CHANGE p1 $p1 DOUBLE NOT NULL ");
$sql= mysql_query(" ALTER TABLE $table CHANGE note2 $n2 DOUBLE NOT NULL ");
$sq= mysql_query(" ALTER TABLE $table CHANGE p2 $p2 DOUBLE NOT NULL ");
$sql= mysql_query(" ALTER TABLE $table CHANGE note3 $n3 DOUBLE NOT NULL ");
$sq= mysql_query(" ALTER TABLE $table CHANGE p4 $p4 DOUBLE NOT NULL ");
$sql= mysql_query(" ALTER TABLE $table CHANGE note5 $n5 DOUBLE NOT NULL ");
$sq= mysql_query(" ALTER TABLE $table CHANGE p5 $p5 DOUBLE NOT NULL ");
break;
case '$al':
echo 'mmmmm';
break;
default:
echo "mard hada";
}
}
?>
j'ai essayé ce code mais pad de résultat :( :(
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
2 mai 2014 à 17:04
Pourquoi as-tu changé ça ?
case '$ana':
0
Utilisateur anonyme
2 mai 2014 à 17:13
car 'ana' est la valeur du variable 'm' et moi j'utilise le switch case ,selon la valeur du 'm' je modifie la table.
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
5 mai 2014 à 11:12
Donc c'est 'ana', pas '$ana' !
0