logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
31 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 108 395 363

  • Nb. de membres 8 693
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» Changer l'id de la base ...

Changer l'id de la base ...#26306

2Contributeur(s)
colonelwogJireck
3 Modérateur(s)
developpeurjpbJireck
colonelwog colonelwogicon_post
salut tout le monde ça faisait longtemps ^^ ...
j'ai le code du module généralsite pour remplir une base avec 4 champs un champ validation et un champ id.
quand je veux éditer une entrée je veux aussi pouvoir changer l'id d'enregistrement or je n'y arrive pas car je choisis déjà l’enregistrement qui l'id 4 avec 4 champs remplis mais quand je fait l'update bah tout s'enregistre sauf l'iD car mon sql est fait sur wher id=$id et comme je veux aussi modifier l'id bah ça ne fonctionne pas.
je sais pas si j'ai été assez clair ...
colonelwog colonelwogicon_post
bon apparemment personne ?
voici le code complet en espérant qu'un oeil averti voit le problème !

<?php

/************************************************************************/ 
/* NPDS : Net Portal Dynamic System                                     */ 
/* ===========================                                          */ 
/*                                                                      */ 
/*    Module Universel  Copyright (c) 2003 by Hotfirenet                */ 
/*                                                                      */ 
/************************************************************************/ 
/*                                                                      */ 
/* 08/01/04 Modifications par Tribal-Dolphin :                          */ 
/* Suppression de la connexion à la BDD car déjà établie par NPDS       */ 
/* Suppression de la CSS et utilisation de celle de NPDS                */ 
/* 23/05/2011 Modification colonelwog                                   */ 
/* rajout universalisation du module + édition suppression              */ 
/************************************************************************/ 

/**************************************************************************************************/ 
/* Administration du MODULE                                                                       */ 
/**************************************************************************************************/ 
!include!("header.php");

if (
$user) { 
   global 
$nuked$user$language$pdst$NPDS_Prefix$ModPath
   !include!_once("modules/
$ModPath/lang/adm-$language.php"); 
   !include!_once ("modules/
$ModPath/connect.inc.php"); 
   
$pdst=0; 


function edit_annu(
$id) {
   global 
$nuked$language$ModPath$ModStart$NPDS_Prefix;
   require ("modules/
$ModPath/connect.inc.php");
   
$res = sql_query("select annu_champ1,annu_champ2,annu_champ3,annu_champ4 from  ".$NPDS_Prefix."".$ModPath." where  annu_ind ='$id'");
   list(
$annu_champ1,$annu_champ2,$annu_champ3,$annu_champ4) = sql_fetch_row($res);


   echo "<table width=\"100%\" cellpadding=\"5\" cellspacing=\"0\" border=\"0\" align=\"center\">

       <div style=\"text-align: center;\"><br /><b>[ <a href=\"!javascript!:history.back()\">retour</a> ]</b></div></form><br />
        <form  method=\"post\" action=\"modules.php?ModPath=budget&ModStart=editertravaux&subop=modif_annu\">
        <tr>
          <td colspan=\"2\" align=\"center\" class=\"header\"><h2>".adm_anu_trans("Modifier une entrée")."</h2></td>
        </tr>
        <tr>
          <td align=\"right\" class=\"header\">ID</td>
          <td class=\"header\"><input id=\"form_id\" type=\"text\" name=\"annu_ind\" size='10' value=\"".
$id."\"></td>
        </tr>
        <tr>
          <td align=\"right\" class=\"header\">
$formulaire1</td>
          <td class=\"header\"><input id=\"form_champ1\" type=\"text\" name=\"champ1\" size='
$formulaire1a' value=\"".$annu_champ1."\"></td>
        </tr>
        <tr>
          <td align=\"right\" class=\"header\">
$formulaire2</td>
          <td class=\"header\"><input id=\"form_champ2\" type=\"text\" name=\"champ2\"  size='
$formulaire2a' value=\"".$annu_champ2."\"></td>
        </tr>
              <tr>
          <td align=\"right\" class=\"header\">
$formulaire3</td>
          <td class=\"header\"><input id=\"form_champ3\" type=\"text\" name=\"champ3\"  size='
$formulaire3a' value=\"".$annu_champ3."\"></td>
        </tr>
        <tr>
          <td align=\"right\" class=\"header\">
$formulaire4</td>
          <td class=\"header\"><input id=\"form_champ4\" type=\"text\" name=\"champ4\" size='
$formulaire4a' value=\"".$annu_champ4."\"></td>
        </tr>
            
        <tr>
          <td class=\"header\">&nbsp;</td>
          <td class=\"header\"><input type=\"submit\" value=\"".adm_anu_trans("Modifier")."\"></td>
        </tr>
        </form>
        </table>";
}

function modif_annu(
$id,$champ1,$champ2,$champ3,$champ4) {
   global 
$nuked,$NPDS_Prefix,$ModPath;
   
$sql = sql_query("update ".$NPDS_Prefix."$ModPath set annu_ind='".$id."',annu_champ1='".$champ1."',annu_champ2='".$champ2."',annu_champ3='".$champ3."',annu_champ4='".$champ4."' where annu_ind ='$id'");
   echo"<script type=\"text/!javascript!\"> history.go(-2); </script> ";
 
}

 switch (
$subop) { 
   case "edit_annu": 
      opentable(); 
      edit_annu(
$id); 
      closetable(); 
      break; 

   case "modif_annu": 
      opentable(); 
      modif_annu(
$id,$champ1,$champ2,$champ3,$champ4); 
      closetable(); 
      break; 




  } 


}
!include!("footer.php");

?>


colonelwog colonelwogicon_post
perso je viens de trouver une premiere erreur dans mes modifs pour la requête sql modpath n'est pas écrit correctement ...
Jireck Jireckicon_post
on ne peux /doit pas modifier un id qui sert de reference.
on n update pas tous les champs d'un enregistrement sinon tu delete et insert.

exemple table :

id, nom, qualifie1, qualifie2

update xxx set nom, qualifie1, qualifie2 where id=$id

Il faut qu'il y ai un element referent

ou

update xxx set id,nom, qualifie1, qualifie2 where qualifie2=$qualifie2

Ca reponds a ta question ?
colonelwog colonelwogicon_post
je m'en doutais un peu mais du cup il faut que je revois entièrement mon truc du coup ...
colonelwog colonelwogicon_post
en fait non il faut juste que récupére le annu_ind que j'ai mis en 362 ...
colonelwog colonelwogicon_post
en fait non il faut juste que récupére le annu_ind que j'ai mis en 362 ...
colonelwog colonelwogicon_post
bon j'ai un soucis de code une erreur quelque part l'édition et enregistrement ne fonctionne pas ! ...grrr pourtant j'ai tout remis comme il se doit j'en perd la tête