casper77610
Messages postés28Date d'inscriptiondimanche 27 mars 2011StatutMembreDernière intervention28 octobre 2012
-
1 avril 2011 à 21:48
casper77610
Messages postés28Date d'inscriptiondimanche 27 mars 2011StatutMembreDernière intervention28 octobre 2012
-
4 avril 2011 à 22:12
Bonsoir à tous,
Ceci est ma première question sur ce forum.
J'espère que je serais explicite dans la formulation.
Voila je cherche faire une page web en PHP, qui reproduirait un tableau correspondant à une base de donnée MySQL, et qui permettrait en même temps d'incrémenter cette meme base.
Exemple :
Paul 10ans CE2 Etc...
Marc 9 ans CE1 Etc...
Et une dernière ligne vierge qui permettrait de saisir d'autre données qui s'ajouteraient a ma base par une validation des données.
Et que quand je retourne sur cette page web la base à jours s'affiche, et toujours avec une ligne vierge pour pouvoir re-saisir d'autre données.
casper77610
Messages postés28Date d'inscriptiondimanche 27 mars 2011StatutMembreDernière intervention28 octobre 2012 2 avril 2011 à 17:49
Bonjour cod57,
merci d'avoir répondu.
Voici mon code pour voir ma base,
<?php
// Vu de la base de donnée
// je me connecte à MySQL
$db = mysql_connect('localhost', 'host', '');
// je sélectionne la base
mysql_select_db('Adherents',$db);
// je crée la requête SQL
$sql = 'SELECT Prenom, Nom, Classe, Telephone, Portable, Adresse, Date_naissance FROM Enfants';
// j'envoie la requête
$req = mysql_query($sql) or die ('Erreur SQL !
'.$sql.'
'.mysql_error());
// je fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
$a = substr($data['Date_naissance'], 0, 4); // conversion
$m = substr($data['Date_naissance'], 5, 2); // de la date
$j = substr($data['Date_naissance'], 8, 2); // au format
$date = $j.'-'.$m.'-'.$a; // Français
// j'affiche les informations de l'enregistrement en cours
echo ''.$data['Prenom'].' '.$data['Nom'].' '.$data['Classe'].' '.$date.' '.$data['Telephone'].' '.$data['Portable'].' '.$data['Adresse'].'';
}
// je ferme la connexion à mysql
mysql_close();
?>
je seche apres pour faire un tableau correcte (mieux vaut en html ou php) et une ligne sous ce tableau qui incrémenter ma base qui soit permanente, le code est celui-ci :
// add.php
<?php
// je commence par récupérer les champs
if(isset($_POST['Prenom'])) $nom=$_POST['Prenom'];
else $Prenom="";
// 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 'Attention, seul le champs Telephone peut rester vide !';
echo 'Attention, seul le champs Portable peut rester vide !';
}
// Aucun champ n'est vide, je peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('Adherents',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(Prenom, Nom, Classe, Telephone, Portable, Adresse, Date_naissance) VALUES('','$Prenom','$Nom','$Classe','$Telephone','$Portable','$Adresse', '$Date_naissance')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
}
?>
Voila mais 2 codes pour voir et incrémenter ma base, mais je n'arrive pas à faire,un tableau comme si j'était dans mysql et à laisser la ligne d'incrémentation sur ma page et à l'intégrer dans vu de la base de données :
casper77610
Messages postés28Date d'inscriptiondimanche 27 mars 2011StatutMembreDernière intervention28 octobre 2012 3 avril 2011 à 09:02
Bonjour cod57,
Je te remercie très fortement pour tout ca, cela est parfait.
Mais il y a t'il un moyen de faire un tableau graphique comme en HTML.
Je vais faire des test .
Je debut dans le PHP, je ne suis pas encore au point.
casper77610
Messages postés28Date d'inscriptiondimanche 27 mars 2011StatutMembreDernière intervention28 octobre 2012 3 avril 2011 à 16:47
Je te remercie cod57 pour l'export excel, mais je ne m'en servirai pas.
par contre sur le code avant excel que tu m'as bien gentiment fourni, il y a un soucis.
j'ai une erreur
Warning: Cannot modify header information - headers already sent by (output started at /var/www/clients/client18/web26/web/Adherents.php:10) in /var/www/clients/client18/web26/web/Adherents.php on line 202
En localhost pas de soucis, mais quand je passe par le serveur distant, j'ai ce message.
Et pareil en ligne 54 quand je fais supprimer.
<!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>
<?php
$db = mysql_connect('localhost', 'root', '') or die('HOST ?');
mysql_select_db('Adherents',$db) or die('DB ?');
/*listage des eleves*/
$sql = 'SELECT * FROM enfants'; /*pareil*/
$req=mysql_query($sql) or die ('Erreur SQL !
'.$sql.'
'.mysql_error());
if(isset($_POST['Modifier']) && $_POST['Modifier']==="Modification" && $_SERVER['REQUEST_METHOD']==='POST'){
/*LE FORMULAIRE EST POSTE*/
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>Attention, seul le champs Telephone peut rester vide !';
echo '
Attention, seul le champs Portable_M peut rester vide !';
echo '
[javascript:history.back(); Retour]</center>';
}
// Aucun champ n'est vide, je peut enregistrer dans la table
else
{
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
// on affiche le résultat pour le visiteur
//echo '<center>Vos infos on été modifié !
';
//mysql_close(); // on ferme la connexion
//echo '[? Ajouter un éléve]
</center>';
unset($_POST);
header('Location: index.php');exit;
}
}
else if(isset($_POST['envoyer']) && $_POST['envoyer']==="Envoyer" && $_SERVER['REQUEST_METHOD']==='POST'){
/*LE FORMULAIRE EST POSTE*/
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>Attention, seul le champs Telephone peut rester vide !';
echo '
Attention, seul le champs Portable_M peut rester vide !';
echo '
[javascript:history.back(); Retour]</center>';
}
// Aucun champ n'est vide, je peut enregistrer dans la table
else
{
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
// on affiche le résultat pour le visiteur
unset($_POST);
header('Location: index.php');exit;
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
echo '[? Ajouter un éléve]';
}
} else { ?>
<form method="POST" action="">
Prenom, ,
----
Nom, ,
----
Classe, ,
----
Telephone, ,
----
Portable_M, ,
----
Adresse, ,
----
Date_naissance, ,
----
E_mail,
</form>
<?php
mysql_close();
}
?>
</html>
Je vais voir avec l'admin du serveur et je tiens au courant.
casper77610
Messages postés28Date d'inscriptiondimanche 27 mars 2011StatutMembreDernière intervention28 octobre 2012 4 avril 2011 à 22:01
Bonsoir,
La fonction Header ne marchait pas avec du html dans la page sur le serveur distant, je l'ai remplacé par
echo $_SERVER['PHP_SELF']; qui fonctionne tres bien.
Je voudrais faire un tri par selection de la colonne CLASSE, mais que le temps de la consultation de la page et non definitive.