Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1731 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHP/MSSQL: réaffichage contenu tableau sur page PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP/MSSQL: réaffichage contenu tableau sur page PHP

n°1409378
bouillehpr​as
Posté le 19-07-2006 à 13:43:36  profilanswer
 

Bonjour à tous,
Coucou à Berceker United
 
CONFIG:
*Serveur A: Intranet
OS Win 2000 serveur SP4
Mysql/Apache/Php via EasyPhp
 
*Serveur B: MSSQL Serv 2000
OS Win 2000 serveur SP4
 
ETAPE TEST SUR PAGE PHP:
1)-Connexion sur Basedonnee                                                                                            - OK
2)-Via Formulaire: écriture dans table base donnee                                                                - OK
3)-Affichage dans tableau sur page php des infos saisie dans base donnee                                 - OK
4)-Ajout sur Page PHP, une liste déroulante contenant les IDs des infos saisies dans base donnee  - OK
5)-Sélection via liste, num ID, afin de supprimer dans la base donnee, les infos de la ligne             - OK
6)-Simultanément de la suppression dans base de donnee, sur page Php, je voudrais que la ligne   - ER
   du tableau soit supprimée. Je le vois que si j'actualise page PHP.  
   Sinon si je rappelle l'affichage de mon tableau après avoir fait un DELETE FROM c'est OK
 
QUESTION:
Comment dois-je procéder pour que sur ma page PHP, dans l'affichage de mon tableau après avoir  
fait mon DELETE FROM, la ligne de mon tableau ne s'affiche plus ?
 
CODE: sur page PHP
===>>>J'AI ENLEVER LES BORNES HTML ET PHP
######################
##### DEB CODE #######
######################
DEB BornePHP  
 $server="xx.xx.xx.xx";  
 $username="xx";  
 $password="xx";
 $connect = mssql_connect ("$server","$username","$password" ) || die ("===>>> Connexion impossible au serveur" );
 mssql_select_db("NOMEMAIL" )                                  || die ("===>>> Connexion impossible à la base de données" );
 
 $ID="";
 if(!empty($_POST["ID"]))
    $ID=$_POST["ID"];
 
 $nom="";  
 if(!empty($_POST["nom"]))
    $nom=addslashes($_POST["nom"]);
 
 $email="";
 if(!empty($_POST["email"]))
   $email=$_POST["email"];
   
 $message="";
 
 if($email)  
 {
     $table="TESTNOMEMAIL";
     $query = "INSERT INTO $table(ID,nom,email)";
     $query .= " VALUES('$ID','$nom','$email')";  
     $result = mssql_query($query);
 }  
FIN BornePHP
 
DEB Borne HTML
 HEAD
  TITLEExempleTITLE
     
     script language="JavaScript"
     
      function verif(email)  
         {  
            var arobase = email.indexOf("@" )
            var point = email.lastIndexOf("." )
            if((arobase < 3) || (point + 2 > email.length) || (point < arobase+3))
                return false
            return true
           }
           
           function test(ID,nom,mail)  
           {
            if(ID.value=="" ) { alert('ID requis !')
               ID.focus();return false }
            if(nom.value=="" ) { alert('Nom requis !')
               nom.focus();return false }
            if(!verif(mail.value)) { alert('Email invalide !')
               mail.focus();return false }
            return true
           }
           
          script
     
     
     
 HEAD
 BODY bgcolor="#0066FF"
  <p align="center"><b><font color="#CCFF33" size="5">Liste Nom / Adreese E-Mail: </font></b></p>
   
  <center>
DEB BornePHP  
 echo $message;  
FIN BornePHP
   
     <form method="post" action="<? echo $URL; ?>" onSubmit="return test(this.ID,this.nom,this.email)">
              <table BORDER=1>
              <tr>
               <td>ID</td>
               <td><input type="text" name="ID"></td>
               <td>Nom</td>
               <td><input type="text" name="nom"></td>
               <td>E-mail</td>
               <td><input type="text" name="email"></td>
           </tr>
           <tr>
               <th colspan=6>
                  <input type="Submit" value="Ajouter"></th>
              </tr>
           </table>
        </form>
   
  <table ALIGN=CENTER BORDER=3 CELLSPACING=2 CELLPADDING=1 width="605" height="146">
   <TR>
    <TH ALIGN=CENTER>ID:</TH>
    <TH ALIGN=CENTER>NOM:</TH>
    <TH ALIGN=CENTER>EMAIL:</TH>
   </TR>
DEB BornePHP
    $requete="select ID, nom, email from TESTNOMEMAIL where ID between 1 and 100";  
    $resultat = mssql_query($requete) or die ("===>>> Erreur SQL" );
    while ( list( $ID, $nom, $email ) = mssql_fetch_row($resultat))
    {
     $bgcolor="bgcolor=#cccccc";
     print ("<tr>\n".
     " <td $bgcolor ALIGN=CENTER>$ID</td>\n".
     " <td $bgcolor ALIGN=CENTER>$nom</td>\n".
     " <td $bgcolor ALIGN=CENTER>$email</td>\n".
     "</tr>\n" );
    }
  echo "</table>";
 
 $resultat_ligne = mssql_query("select * from TESTNOMEMAIL " ) or die ("===>>> Erreur SQL" );
 $totalFilm = mssql_num_rows($resultat_ligne);
 
FIN BornePHP
 
  <form name="myform" method="post" action="<? echo $URL; ?>">
    <table>
    <tr>
             <td align=center>
              SUPPRESSION DE LIGNE:
             </td>
     </tr>
    <tr>
             <td  align=center>
    Veuillez sélectionner un nom afin de supprimer une ligne:  
    <select name="liste[]">
      <option selected>-- Veuillez choisir --</option>
DEB BornePHP  
       while ($val = mssql_fetch_array($resultat_ligne))  
       {  
FIN BornePHP
           <option>
DEB BornePHP
            echo $val["ID"];  
FIN BornePHP
           </option>          
DEB BornePHP      $Flag=1;  
       }    
FIN BornePHP
     </select>
     , puis cliquez sur la case "Suppression Ligne"
     </td>
     </tr>
     <br>
     <tr>
             <td align=center><br>
     <input type="Submit" value="Suppression Ligne">
  </td>
  </tr>
  </table>
  </form>
DEB BornePHP  
 for ($i=0; $i<count($liste); $i++)
 {
  $NumLigne = $liste[$i];  
 }
 echo "Numéro de ligne est: ".$NumLigne;
 
 
 $requeteBISBIS="delete from TESTNOMEMAIL where ID='$NumLigne'";
 $resultatSUPRLIGNE = mssql_query($requeteBISBIS) or die ("===>>> Erreur SQL" );
 
 $resultat_ligne = mssql_query("select * from TESTNOMEMAIL " ) or die ("===>>> Erreur SQL" );
 $totalFilm = mssql_num_rows($resultat_ligne);
 
 mssql_close();
 echo "<p align=center><u><i><font color=white><b> Nombre d'adresses E-Mail: $totalFilm</b></font></i></u></p>";
 echo "body html";
 
 
 //phpinfo();
FIN BornePHP
######################
##### FIN CODE #######
######################
 
Merci d'avance
Au revoir et bonne journée
Bien à vous

mood
Publicité
Posté le 19-07-2006 à 13:43:36  profilanswer
 

n°1409381
anapajari
s/travail/glanding on hfr/gs;
Posté le 19-07-2006 à 13:48:57  profilanswer
 

je vais résumer ton problème comme ça:
1- tu fais un select, tu affiches le résultat dans une table
2- tu fais un delete ensuite
3- tu es surpris que l'élement supprimé en 2 apparaisse dans le tableau généré en 1
c'est ça???

n°1409390
bouillehpr​as
Posté le 19-07-2006 à 14:01:35  profilanswer
 

Bonjour anapajari,
Tout d'abord merci de t'interresser à mon problème.
Pas tout à fait !!!
Grosso modo voilà comment ça se presente sur ma page php:
Formulaire de sasie: ID|Nom|AdresseMail
                             Bouton validation
 
Tableau avec colonne: ID|Nom|AdresseMail
ligne affiche Bd           1  |aa  |aa.aa@aa.fr
ligne affiche Bd           2  |bb  |bb.bb@bb.fr
(Au fur et à mesure que je saisie via mon formulaire cela s'incrémente dynamiquement dans mon tableau sur ma page html).
 
Liste déroulate contenant les ID des lignes à supprimer récupérées dans ma bd.                       Liste déroulante
                               Bouton Validation
 
Ce que j'arrive à faire c'est sélectionner un ID, ensuite quand je valide ma sélection de liste, cela me supprime bien ma ligne dans ma bd.
Par contre cela ne me réactualise pas mon tableau avec la ligne supprimée en moins. Et c'est que je voudrais faire !!!!
 
Merci d'avance
Bien toi

n°1409428
omega2
Posté le 19-07-2006 à 14:30:53  profilanswer
 

bouillehpras > Si tu veux que la supression soit visible dans le tableau, alors il faut faire la supression avant de récupérer les données du tableau.
 
PS : Mets le code de ton premier message entre [ cpp ] [ /cpp ] (sans les espaces) ca rendra ton code plus lisible. Là, j'ai pas le temps d'analyser ton texte pour trouver les débuts et fin de chaque morceau.

n°1409446
bouillehpr​as
Posté le 19-07-2006 à 14:43:54  profilanswer
 

Bonjour à toi omega2
Tout d'abord merci de t'interresser à mon problème.
Voici le code avec les balises !!!
CODE:
<?php  
 $server="xx.xx.xx.xx";  
 $username="xx";  
 $password="xx";  
 $connect = mssql_connect ("$server","$username","$password" ) || die ("===>>> Connexion impossible au serveur" );  
 mssql_select_db("NOMEMAIL" )                                  || die ("===>>> Connexion impossible à la base de données" );  
 
 $ID="";  
 if(!empty($_POST["ID"]))  
    $ID=$_POST["ID"];  
   
 $nom="";  
 if(!empty($_POST["nom"]))  
    $nom=addslashes($_POST["nom"]);  
   
 $email="";  
 if(!empty($_POST["email"]))  
   $email=$_POST["email"];  
   
 $message="";  
   
 if($email)  
 {  
     $table="TESTNOMEMAIL";  
     $query = "INSERT INTO $table(ID,nom,email)";  
     $query .= " VALUES('$ID','$nom','$email')";  
     $result = mssql_query($query);  
 }  
?>  
 
<HTML>  
 <HEAD>  
  <TITLE>Exemple</TITLE>  
     
     <script language="JavaScript">  
       
      function verif(email)  
         {  
            var arobase = email.indexOf("@" )  
            var point = email.lastIndexOf("." )  
            if((arobase < 3) || (point + 2 > email.length) || (point < arobase+3))  
                return false  
            return true  
           }  
           
           function test(ID,nom,mail)  
           {  
            if(ID.value=="" ) { alert('ID requis !')  
               ID.focus();return false }  
            if(nom.value=="" ) { alert('Nom requis !')  
               nom.focus();return false }  
            if(!verif(mail.value)) { alert('Email invalide !')  
               mail.focus();return false }  
            return true  
           }  
           
          </script>  
 </HEAD>  
 <BODY bgcolor="#0066FF">  
  <p align="center"><b><font color="#CCFF33" size="5">Liste Nom / Adreese E-Mail: </font></b></p>  
   
  <center>  
<?php  
 echo $message;  
?>  
   
     <form method="post" action="<? echo $URL; ?>" onSubmit="return test(this.ID,this.nom,this.email)">  
              <table BORDER=1>  
              <tr>  
               <td>ID</td>  
               <td><input type="text" name="ID"></td>  
               <td>Nom</td>  
               <td><input type="text" name="nom"></td>  
               <td>E-mail</td>  
               <td><input type="text" name="email"></td>  
           </tr>  
           <tr>  
               <th colspan=6>  
                  <input type="Submit" value="Ajouter"></th>  
              </tr>  
           </table>  
        </form>  
   
  <table ALIGN=CENTER BORDER=3 CELLSPACING=2 CELLPADDING=1 width="605" height="146">  
   <TR>  
    <TH ALIGN=CENTER>ID:</TH>  
    <TH ALIGN=CENTER>NOM:</TH>  
    <TH ALIGN=CENTER>EMAIL:</TH>  
   </TR>  
<?php  
    $requete="select ID, nom, email from TESTNOMEMAIL where ID between 1 and 100";  
    $resultat = mssql_query($requete) or die ("===>>> Erreur SQL" );  
    while ( list( $ID, $nom, $email ) = mssql_fetch_row($resultat))  
    {  
     $bgcolor="bgcolor=#cccccc";  
     print ("<tr>\n".  
     " <td $bgcolor ALIGN=CENTER>$ID</td>\n".  
     " <td $bgcolor ALIGN=CENTER>$nom</td>\n".  
     " <td $bgcolor ALIGN=CENTER>$email</td>\n".  
     "</tr>\n" );  
    }  
  echo "</table>";  
 
 $resultat_ligne = mssql_query("select * from TESTNOMEMAIL " ) or die ("===>>> Erreur SQL" );  
 $totalFilm = mssql_num_rows($resultat_ligne);  
 
?>  
 
  <form name="myform" method="post" action="<? echo $URL; ?>">  
    <table>  
    <tr>  
             <td align=center>  
              SUPPRESSION DE LIGNE:  
             </td>  
     </tr>  
    <tr>  
             <td  align=center>  
    Veuillez sélectionner un nom afin de supprimer une ligne:  
    <select name="liste[]">  
      <option selected>-- Veuillez choisir --</option>  
<?PHP  
       while ($val = mssql_fetch_array($resultat_ligne))  
       {  
?>  
           <option>  
<?PHP  
            echo $val["ID"];  
?>  
           </option>            
<?PHP      $Flag=1;  
       }      
?>  
     </select>  
     , puis cliquez sur la case "Suppression Ligne"  
     </td>  
     </tr>  
     <br>  
     <tr>  
             <td align=center><br>  
     <input type="Submit" value="Suppression Ligne">  
  </td>  
  </tr>  
  </table>  
  </form>  
<?PHP    
 for ($i=0; $i<count($liste); $i++)  
 {  
  $NumLigne = $liste[$i];  
 }  
 echo "Numéro de ligne est: ".$NumLigne;  
 
 
 $requeteBISBIS="delete from TESTNOMEMAIL where ID='$NumLigne'";  
 $resultatSUPRLIGNE = mssql_query($requeteBISBIS) or die ("===>>> Erreur SQL" );  
 
 $resultat_ligne = mssql_query("select * from TESTNOMEMAIL " ) or die ("===>>> Erreur SQL" );  
 $totalFilm = mssql_num_rows($resultat_ligne);  
 
 mssql_close();  
 echo "<p align=center><u><i><font color=white><b> Nombre d'adresses E-Mail: $totalFilm</b></font></i></u></p>";  
 echo "</body></html>";  
   
 //phpinfo();  
?>  
 
Merci d'avance  
Bien toi  

n°1409463
anapajari
s/travail/glanding on hfr/gs;
Posté le 19-07-2006 à 14:56:04  profilanswer
 

nan nan nan il faut que tu ecrive:
[cpépé] ... ton code au milieu ...[/cpépé] ( avec p à la place de "pé" => cpp)
Maintenant comme te l'a dit Omega2 ( bon j'avais espéré que cela était assez clair dans mon message, apparement non):

Citation :

Si tu veux que la supression soit visible dans le tableau, alors il faut faire la supression avant de récupérer les données du tableau.


Il faut donc faire ton delete AVANT ton select

n°1409509
Daelith
Posté le 19-07-2006 à 15:41:16  profilanswer
 

Tu effectues le traitement de ton formulaire dans une autre page (mettons traitement.php) et tu renvoies dans la page de ton tableau avec un header.
 
Dans le pire des cas, tu fais un :
 

Code :
  1. <meta http-equiv="refresh" content="0;URL=mapage.php">


 
dans ta fonction d'effacement.  
 
(Ca actualise la page tout seul comme un grand, pas besoin d'appuyer sur F5)
 
 
Mais bon... c'est barbare.  :ange:


Message édité par Daelith le 19-07-2006 à 15:44:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHP/MSSQL: réaffichage contenu tableau sur page PHP

 

Sujets relatifs
PHP 5 ODBCCopier le résultat d'une requête sql dans un tableau en C++
inserer contenu fichier dans une BDFiltres tableau croisé dynamique
Div qui ne prend pas toute la hauteur de la page... [résolu]trouver l'adresse de UPLOAD_TMP_DIR via PHP
[asp][1.1] Fichier XML dans un tableau[MySQL/PHP] problème d'encodage à l'insertion via formulaire
Tableau à trier en fct de deux champsWord numéro de tableau
Plus de sujets relatifs à : PHP/MSSQL: réaffichage contenu tableau sur page PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR