Alter table et php

Utilisateur anonyme -  
 Utilisateur anonyme -
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

3 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

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

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

    Xavier
    0
  2. Utilisateur anonyme
     
    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
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      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
  3. Utilisateur anonyme
     
    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
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      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
    2. Utilisateur anonyme
       
      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
    3. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Pourquoi as-tu changé ça ?
      case '$ana':
      0
    4. Utilisateur anonyme
       
      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
    5. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Donc c'est 'ana', pas '$ana' !
      0