IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

suppresion et réindexage automatique [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut suppresion et réindexage automatique
    Voila j'ai resolu le problémes du supprimer avec une entrées composée d'un blanc mais il me vient un autre probléme ... lol

    je m'explique.

    je charge ma page root.php comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    for ($i=0;$i<$rang;$i++)
    { 
    $Software_id=mysql_result($resultat,$i,"Software_id");
    $Software=mysql_result($resultat,$i,"Software");
    $Description=mysql_result($resultat,$i,"Description");
     
    echo"  
    <tr> 
        <td width=10%><center>".$Software_id."</center></td>
        <td width=15%><center>".$Software."</center></td>
    	<td width=70%><center>".$Description."</center></td>
    	<td width=5%><center><input type=checkbox name=software_id[] value=".$Software_id."></center><br></td>  
     
    </tr>"
    ;}
    ensuite je clique sur un bouton qui m'envoye sur une page delete.php et qui fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?
     foreach ($_POST["software_id"] as $Software_id2)
      {   
     
       // Connecxion au serveur mysql
      $connect=mysql_connect('localhost','root','') or die ("Erreur de connexion avec le serveur Mysql.");		
     
      // Connexion a la base de donnée : softlist
      mysql_select_db('softlist',$connect) or die ("Erreur de connexion a la base de donnée.");
     
      // verification si le nom est deja pris et insertion des données dans la base de donnée
      $Resultat=mysql_query("SELECT * FROM `t_software` WHERE `Software_id` LIKE '$Software_id2'");
      if (mysql_numrows($Resultat)==1)
      {	
        echo "ok";
      	$sql=mysql_query("DELETE FROM `t_software` WHERE Software_id='$Software_id2'"); 
     	}
     
      // Fermeture de la base de donnée
      mysql_close($connect);
     
     
    }
    ?>
    => l'entree corespondant a l'id est bien supprimée... mais apres le refresh de la page root si je supprime la derniere id ca va .. mais si je suprime une entree en plein milieu alors j'ai un trou dans mon indexation.

    Coment puis je faire pour qu'il regenere automatique les id ?

    merci

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      $Resultat=mysql_query("SELECT * FROM `t_software` WHERE `Software_id` LIKE '$Software_id2'");
      if (mysql_numrows($Resultat)==1)
      {   
        echo "ok";
         $sql=mysql_query("DELETE FROM `t_software` WHERE Software_id='$Software_id2'");
        }
    Excuse mais ta première requete est inutile et puis je ne comprends pas pourquoi tu utilise un like, tu pourais faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql=mysql_query("DELETE FROM `t_software` WHERE Software_id='$Software_id2'");
    if( mysql_affected_rows()>0 ){
    echo "ok";
    }
    sinon que veux tu dire par "trou dans mon indexation. "? les ID de tes software ne se suive plus? car pour l'indexation, elle est regénéré automatiquement après un update ou delete

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    je veux dire par la :

    1
    2
    3
    4
    5


    si je suprime le 3 alors il me reste

    1
    2
    4
    5

    hors jaimerais bien qu'il m'affiche

    1
    2
    3
    4


    tu comprends ? mais ca je sais pas comment procéder...

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    sa c'est normal
    utilise $i à la place de $Software_id dans ta boucle for

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    je ne te suis pas la...

    j'ai une boucle for et jutilise deja $i

  6. #6
    Membre éprouvé
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    Je veux dire dans ta boucle for a la place de sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td width=10%><center>".$Software_id."</center></td>
    fais cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td width=10%><center>".($i+1)."</center></td>

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    oki merci ca marche.

    je pensais pas que tu parlais de cette boucle.

    merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] suppresion automatique pour tous les utilisateurs
    Par bubu87 dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 06/08/2009, 18h48
  2. BDE : Configurer automatiquement le NETDIR
    Par Harry dans le forum Paradox
    Réponses: 10
    Dernier message: 29/07/2002, 11h33
  3. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 08h19
  4. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo