Gestionnaire d'eleves ou carnet d'adresse avec export xls

Soyez le premier à donner votre avis sur cette source.

Vue 11 045 fois - Téléchargée 2 667 fois

Description

bonjour

Un script qui peut servir à gérer l'inscription d'éléves ...
mais qui peut devenir un carnet d'adresse ...
Je met ce script aprés avoir dépanner sur le forum un internaute
j'ai réecrit pratiquement tout donc je l'offre à tous
Une pagination et une sécurisation basique sont disponibles
c'est une base de travail
merci

a++

Source / Exemple :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>              
  <head>                      
    <meta http-equiv="content-type" content="text/html; charset=windows-1250">                      
    <meta name="generator" content="PSPad editor, www.pspad.com">                      
    <title>                   
    </title>              
  </head>   
  <style type="text/css">  
    <!--
     
    #pagina{
    	background-color: white;
      padding-top:5px;
    	font-family:Arial, Helvetica, sans-serif;
    	font-size:12px;
    	font-weight:normal;
    }
    --> 
  </style>          
  <body bgcolor="#ffddbb">
<?php 
function pagination(){
include('config/connection.php');
$par_page=5;
if(isset($_GET['debut'])){ 
$debut=(int)$_GET['debut'];
}else{
$debut=0;/*page 1 par defaut*/
}

$q="SELECT * from ".$dbtable."";
$comptage_lignes_table=mysql_num_rows(mysql_query($q));
$mas_pages= ceil($comptage_lignes_table/$par_page);
$prev=$debut-$par_page;
$next=$debut+$par_page;

$q2 = "select * from ".$dbtable." limit $debut,$par_page";
$get = mysql_query($q2);
while($rows = mysql_fetch_assoc($get)){
$r[]=$rows;
}
mysql_close();

/*creation navbar*/
$navbar ="";
if(!($debut<=0)){
$navbar .= '<a href="?debut='.$prev.'"><< DEBUT </a>';
}

$i=1;
for($x=0;$x<$comptage_lignes_table;$x=$x+5){
  if($debut!=$x){
  $navbar .= '<a href="?debut='.$x.'"> '.$i.' </a>';
  }else{
  $navbar .= '<a href="?debut='.$x.'"> <b>['.$i.'] </b></a>';
  }
$i++;
}

if($debut <= $comptage_lignes_table-$par_page){
$navbar .= '<a href="?debut='.$next.'"> FIN >></a>';
}

return $dat=array(0=>$navbar,1=>$r);
}

/*utilisation de la fonction pagination*/
$res = pagination();
echo '<div align="center" id="pagina">'.$res[0].'</div>'; /*menu navigation*/
//echo '<pre>';
//print_r($res[1]);
/*les enregistrements*/
echo '<div align="center">';
echo '<table border="1">';
echo '<tr><td>Prenon</td><td>Nom</td><td>Classe</td><td>Date de naissance</td><td>Telephone</td><td>Portable</td><td>Adresse</td><td>Action</td></tr>';
foreach($res[1] as $d[1] => $data){
$date=explode('-',$data['Date_naissance']);
$date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];
echo '<tr><td>'.$data['Prenom'].'</td><td>'.$data['Nom'].'</td><td>'.$data['Classe'].
'</td><td>'.$date.'</td><td>'.$data['Telephone'].'</td><td>'.$data['Portable'].'</td><td>'.$data['Adresse'].
'</td><td><a href="?modifier='.$data['id'].'">Modifier</a> -- <a href="?supprimer='.$data['id'].'">Supprimer</a></td></tr>';
}
echo '</table>';
echo '</div><hr>';
/*fin pagination*/

echo '<hr>';

include('config/connection.php'); 

/*listage des eleves sans pagination cette partie est laissée pour exemple*/
$sql = 'SELECT * FROM '.$dbtable.''; /*pareil*/
$req=mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

echo '<div align="center">';

  echo '<table border="1">';

  echo '<tr><td>Prenon</td><td>Nom</td><td>Classe</td><td>Date de naissance</td><td>Telephone</td><td>Portable</td><td>Adresse</td><td>Action</td></tr>';

  while($data = mysql_fetch_assoc($req)){ 
    
  $date=explode('-',$data['Date_naissance']);
  $date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];
      
  echo '<tr><td>'.$data['Prenom'].'</td><td>'.$data['Nom'].'</td><td>'.$data['Classe'].
  '</td><td>'.$date.'</td><td>'.$data['Telephone'].'</td><td>'.$data['Portable'].'</td><td>'.$data['Adresse'].
  '</td><td><a href="?modifier='.$data['id'].'">Modifier</a> -- <a href="?supprimer='.$data['id'].'">Supprimer</a></td></tr>'; 
  } 

  echo '</table>';

echo '</div><hr>';
/*fin listage*/

/*actions*/
if(isset($_GET['supprimer']) && !empty($_GET['supprimer'])){
$id_suppr = (int)$_GET['supprimer'];
$_GET['supprimer']=null;
$sql="delete from ".$dbtable." where id='".$id_suppr."' limit 1";
mysql_query($sql) or die('DEMANDE SUPPRESSION ?');
unset($_GET);
header('Location: index.php');exit;
}

if(isset($_GET['modifier']) && !empty($_GET['modifier'])){
$id_modi = (int)$_GET['modifier'];
$_GET['modifier']=null;

$sql="select * from ".$dbtable." where id='".$id_modi."' limit 1";
$query=mysql_query($sql) or die('DEMANDE SELECTION ?');
$ligne=mysql_fetch_array($query);

$date=explode('-',$ligne['Date_naissance']);
$date=$ligne['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];

?>
<div align="center">           
  <form method="POST" action="">                           
    <input type="hidden" name="id" value="<?php echo $ligne['id'];?>" />                 
    <table>                      
      <tr><td>Prenom</td><td>              
          <input type="text" name="Prenom" size="20" value="<?php echo $ligne['Prenom'];?>" maxlength="20"></td>          
      </tr>                      
      <tr><td>Nom</td><td>              
          <input type="text" name="Nom" size="20" value="<?php echo $ligne['Nom'];?>" maxlength="35"></td>          
      </tr>                     
      <tr><td>Classe</td><td>              
          <input type="text" name="Classe" size="20" value="<?php echo $ligne['Classe'];?>" maxlength="4"></td>          
      </tr>                      
      <tr><td>Telephone</td><td>              
          <input type="text" name="Telephone" size="20" value="<?php echo $ligne['Telephone'];?>" maxlength="10"></td>          
      </tr>                     
      <tr><td>Portable</td><td>              
          <input type="text" name="Portable" size="20" value="<?php echo $ligne['Portable'];?>" maxlength="10"></td>          
      </tr>                      
      <tr><td>Adresse</td><td>              
          <input type="text" name="Adresse" size="20" value="<?php echo $ligne['Adresse'];?>" maxlength="255"></td>          
      </tr>                      
      <tr><td>Date_naissance</td><td>              
          <input type="text" name="Date_naissance" size="20" value="<?php echo $ligne['Date_naissance'];?>" maxlength="15"></td>          
      </tr>                
    </table>                          
    <input type="submit" value="Modification" name="Modifier"><br />                      
  </form>           
</div>  

<?php
echo '<center><a href="?">Lister les éléves</a></center>';
}

if(isset($_POST['Modifier']) && $_POST['Modifier']==="Modification" && $_SERVER['REQUEST_METHOD']==='POST'){
/*LE FORMULAIRE EST POSTE*/
     
     foreach($_POST as $k => $v){
     $v=htmlentities($v);
     $v=mysql_real_escape_string($v);
     $_POST[$k]=$v;
     }
         
     extract($_POST);  
                
     // je vérifie si les champs sont vides 
      
     if(empty($Prenom) OR empty($Nom) OR empty($Classe) OR empty($Adresse) OR empty($Date_naissance)){ 
     echo '<center><font color="red">Attention, seul le champs <b>Telephone</b> peut rester vide !</font>'; 
     echo '<br /><font color="red">Attention, seul le champs <b>Portable</b> peut rester vide !</font>'; 
     echo '<br /><a href="javascript:history.back();">Retour</a></center>';
     }else{
     $date_naiss = explode('-',$Date_naissance);    
     $Date_naissance = $date_naiss[2].'-'.$date_naiss[1].'-'.$date_naiss[0];
     
     $sql =" UPDATE ".$dbtable." SET
      
     `Nom`= '$Nom' ,
     `Prenom`= '$Prenom' ,
     `Classe`= '$Classe',
     `Telephone`= '$Telephone',
     `Portable`= '$Portable',
     `Adresse`= '$Adresse' ,
     `Date_naissance`= '$Date_naissance'
      WHERE id='".$id."' ";
  
      mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
      unset($_POST);
      header('Location: index.php');exit;
      } 
}

else if(isset($_POST['envoyer']) && $_POST['envoyer']==="Envoyer" && $_SERVER['REQUEST_METHOD']==='POST'){
/*LE FORMULAIRE EST POSTE*/

     foreach($_POST as $k => $v){
     $v=htmlentities($v);
     $v=mysql_real_escape_string($v);
     $_POST[$k]=$v;
     }
          
     extract($_POST);
     // je vérifie si les champs sont vides 
      
     if(empty($Prenom) OR empty($Nom) OR empty($Classe) OR empty($Adresse) OR empty($Date_naissance)){ 
     echo '<center><font color="red">Attention, seul le champs <b>Telephone</b> peut rester vide !</font>'; 
     echo '<br /><font color="red">Attention, seul le champs <b>Portable</b> peut rester vide !</font>'; 
     echo '<br /><a href="javascript:history.back();">Retour</a></center>';
     }else{ 
     $date_naiss = explode('-',$Date_naissance);    
     $Date_naissance = $date_naiss[2].'-'.$date_naiss[1].'-'.$date_naiss[0];
     $sql =" INSERT INTO ".$dbtable." (
     `id` ,
     `Nom` ,
     `Prenom` ,
     `Classe` ,
     `Telephone` ,
     `Portable` ,
     `Adresse` ,
     `Date_naissance` 
     )VALUES (NULL , '$Prenom', '$Nom', '$Classe', '$Telephone', '$Portable', '$Adresse', '$Date_naissance')";
           
     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     unset($_POST);
     header('Location: index.php');exit;
     } 
     
} else { ?>
    
    
<div align="center">              
  <form method="POST" action="">                       
    <table>                             
      <tr><td>Prenom</td><td>                         
          <input type="text" name="Prenom" size="20" value="" maxlength="20"></td>                 
      </tr>                             
      <tr><td>Nom</td><td>                         
          <input type="text" name="Nom" size="20" value="" maxlength="35"></td>                 
      </tr>                            
      <tr><td>Classe</td><td>                         
          <input type="text" name="Classe" size="20" value="" maxlength="4"></td>                 
      </tr>                             
      <tr><td>Telephone</td><td>                         
          <input type="text" name="Telephone" size="20" value="" maxlength="10"></td>                 
      </tr>                            
      <tr><td>Portable</td><td>                         
          <input type="text" name="Portable" size="20" value="" maxlength="10"></td>                 
      </tr>                             
      <tr><td>Adresse</td><td>                         
          <input type="text" name="Adresse" size="20" value="" maxlength="255"></td>                 
      </tr>                             
      <tr><td>Date_naissance</td><td>                         
          <input type="text" name="Date_naissance" size="20" value="" maxlength="15"></td>                 
      </tr>                     
    </table>                               
    <input type="submit" value="Envoyer" name="envoyer"><br />                         
  </form>            
 
 
  <form method="POST" action="config/export.php">
    (admin1234) à changer dans export.php <br /><input type="text" name="xls" maxlength="15">
    <input type="submit" value="EXPORT EXCEL" name="EXCEL"><br />    
  </form>
</div>  
  
<?php
mysql_close();
} 
?> 
</body>
</html>

Conclusion :


configurer
config/connection.php
et le mot de passe dans export.php
admin1234 par défaut

à améliorer
Les critiques sont les bienvenues
a++

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_portfolio
Messages postés
9
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
16 avril 2011
-
Bonjour
J'ai envie de passer du php4 au 5:
un beau "petit" modèle pour m'aider à adapter mes codes
Salutations
cs_armenak
Messages postés
58
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
25 octobre 2010
-
Je ne sais pas si ce code a sa place ici... La classification débutant-débutant n'est pas prévue par le système.
masternico
Messages postés
494
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
1 septembre 2011
-
lol...
oooooh!!! c'est méchant ça ;)
cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8 -
bonjour

@armenak
C'est pas echo 'hello world';
Si tu trouves ça si basique tu devrais venir sur le forum on a besoin de dépanneur !
Je pense que beaucoup de gens sont des debutants et le but de ce CRUD est pédagigique
et en aucune façon une recherche esthétique ou autre jubilation suffisante.
Pour ceux qui cherche un generateur de CRUD et pas des remarques sans intérêts pedagogiques.
http://www.phpscaffold.com/

a++
cs_armenak
Messages postés
58
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
25 octobre 2010
-
Eh les gars du calme! Je ne suis pas un pro loin de là, mais je sais reconnaître quand même si un code est un peu mieux que ce que fait Dreamweaver ou Joomla en trois clics. Si ce site se fait envahir par des gestions simplistes de formulaire, et qu'on ne réagit pas au moins avec un peu d'humour, c'est la fin de phpc. C'est sympathique de débuter, mais il faut quand même avoir le sens des valeurs. Ok c'est pas echo hello world, mais pas beaucoup plus. Et puis je me rappelle d'une époque où la critique était beaucoup plus sévère ici. Je regrette cette époque, même si personnellement j'en ai reçu plein la g..., ça m'a fait progresser. Ben du coup, on pourrait donner une note excellente à ce code, pas grand chose à en dire, puisqu'il fonctionne.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.