ju3979

Inscris le 08/08/2007 à 08:42
  • Nombre de sujets
    2
  • Nombre de messages
    9
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

ju3979
le 09/08/2007 à 12:03
Compteur : nombre de saisie restant par rapport à une date
Bonjour

J'ai réussi à mettre en place la fonction recherche et modification dans ma base sql

Mais je rencontre quand même deux problème:

* Le premier c'est que par exemple si dans le champ remaque je met un apostrophe et que je valide pour modifier il me met une erreur de syntaxe et ne me modifie rein

* Le deuxième c'est que les utilisateus peuvent faire une recherche par nom ou par date. Mais quand il font une recherche en mettant la date au foramt français ça ne marche par contre au format américain ça fonctionne... De même après une recherche mon champ date affiché est au format américain et pas français. Je souhaiterais que l'utilisateur puisse saisir toutes les dates au format français et que après ce fasse une conversion transparente pour l'utilisateur

Je vous met ma page de recherche + mes 3 scripts:

affiche l'écran de recherche:

Code :

<form action="modification.php" enctype="multipart/form-data" method="post">
<label>Nom : </label>
<input name="nom" type="text">
<label>Date : </label>
<input name="date" type="text">
<input name="submit" type="submit" value="Rechercher">
</form>

Premier script qui interroge la base:

Code :

<html>
<head>
<title>modification de données en PHP :: partie 1</title>
</head>
<body>
<?php
if(isset($_POST['submit']))
{
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('base1',$db);

$table="livraisons";
$nom=$_POST['nom'];
$date=$_POST['date'];

if(!empty($nom)){
$sql = "SELECT * FROM $table WHERE nom='$nom'";
}
elseif(!empty($date)){
$sql = "SELECT * FROM $table WHERE date='$date'";
}
else{
// On ne fait pas de recherche
// Redirection
}


//exécution de la requête:
$requete = mysql_query( $sql, $db ) ;

//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{
echo("<div align=\"center\">".$result->nom." ".$result->prenom." ".$result->date." <a href=\"modification2.php?idPersonne=".$result->id_personne."\">modifier</a><br>\n") ;
}
}
?>
</body>
</html>

Deuxième script qui intérroge et affiche le resultat:

Code :

<html>
<head>
<title>modification de données en PHP :: partie2</title>
</head>
<body>
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "base1" ) ;

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["idPersonne"] ;

//requête SQL:
$sql = "SELECT *
FROM livraisons
WHERE id_personne = ".$id ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des données:
if( $result = mysql_fetch_object( $requete ) )
{
?>

<form name="insertion" action="modification3.php" method="POST">
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>Nom</td>
<td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
</tr>
<tr align="center">
<td>Prenom</td>
<td><input type="text" name="prenom" value="<?php echo($result->prenom) ;?>"></td>
</tr>
<tr align="center">
<td>Adresse</td>
<td><input type="text" name="adresse" value="<?php echo($result->adresse) ;?>"></td>
</tr>
<tr align="center">
<td>Ville</td>
<td><input type="text" name="ville" value="<?php echo($result->ville) ;?>"></td>
</tr>
<tr align="center">
<td>Code postal</td>
<td><input type="text" name="codepostal" value="<?php echo($result->codepostal) ;?>"></td>
</tr>
<td>Telephone</td>
<td><input type="text" name="telephone" value="<?php echo($result->telephone) ;?>"></td>
</tr>
<td>Documents à fournir</td>
<td><input type="text" name="documentsafournir" value="<?php echo($result->documentsafournir) ;?>"></td>
</tr>
<td>Conseiller</td>
<td><input type="text" name="conseiller" value="<?php echo($result->conseiller) ;?>"></td>
</tr>
<td>Rendez vous</td>
<td><input type="text" name="rendezvous" value="<?php echo($result->rendezvous) ;?>"></td>
</tr>
<td>Remarque</td>
<td><input type="text" name="remarque" value="<?php echo($result->remarque) ;?>"></td>
</tr>
<td>Date</td>
<td><input type="text" name="date" value="<?php echo($result->date) ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
</body>
</html>

Troisième script qui fait un update des modifs dans ma base:

Code :

<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "base1" ) ;

//récupération des valeurs des champs:
//nom:
$nom = $_POST["nom"] ;
//prenom:
$prenom = $_POST["prenom"] ;
//adresse:
$adresse = $_POST["adresse"] ;
//code postal:
$codepostal = $_POST["codepostal"] ;
//Ville:
$ville = $_POST["ville"] ;
//Telephone:
$telephone = $_POST["telephone"] ;
//code Documents à fournir:
$documentsafournir = $_POST["documentsafournir"] ;
//Conseiller:
$conseiller = $_POST["conseiller"] ;
//Rendez vous:
$rendezvous = $_POST["rendezvous"] ;
//Remarque:
$remarque = $_POST["remarque"] ;

//récupération de l'identifiant de la personne:
$id = $_POST["id"] ;



//création de la requête SQL:
$sql = "UPDATE livraisons
SET nom = '$nom',
prenom = '$prenom',
adresse = '$adresse',
ville = '$ville',
codepostal = '$codepostal',
telephone = '$telephone',
documentsafournir = '$documentsafournir',
conseiller = '$conseiller',
rendezvous = '$rendezvous',
remarque = '$remarque'
WHERE id_personne = '$id' " ;

//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;


//affichage des résultats, pour savoir si la modification a marchée:
if($requete)
{
echo("La modification à été correctement effectuée") ;
}
else
{
echo("La modification à échouée") ;
}
?>

Pouvez vous m'aider à resoudre ces 2 problèmes
Merci pour votre aide
ju3979
le 08/08/2007 à 15:03
Compteur : nombre de saisie restant par rapport à une date
ce que je voudrais c'est affiché un compteur sur ma page formulaire indiquant le nombre de sasie restant pour la date = date + 1 par rapport à la variable nombre saisie auparavant et qui est stockée dans une table test

voici la partie de mon code php



<?  
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'base1'); // base1
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);

$date = strtotime("+1 day");
$sql = "SELECT date FROM livraisons WHERE date='$date'";
$query=mysql_query($sql);
$nb = mysql_num_rows($query);

$sql2="SELECT nombre FROM test";
$requete = mysql_query($sql2);
$donnees = mysql_fetch_array($requete);

$reste = $donnees['nombre']- $nb;

echo "Nombre de rendez vous restant pour demain:$reste";
?>





mais ça ne fonctionne pas
Pouvez vous m'aider merci

Note du modérateur : merci d'utiliser le BBcode
ju3979
le 08/08/2007 à 14:17
Champ date valeur par défaut
Ok ça marche merci

Maintenant ce que je voudrais c'est affiché un compteur sur ma page formulaire indiquant le nombre de sasie restant pour la date = date 1 par rapport à la variable nombre saisie auparavant et qui est stockée dans une table test

voici la partie de mon code php


<?
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'base1'); // base1
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);

$date = strtotime("+1 day");
$sql = "SELECT date FROM livraisons WHERE date ='$date'";
$query=mysql_query($sql);
$nb = mysql_num_rows($query);

$sql2="SELECT nombre FROM test";
$requete = mysql_query($sql2);
$donnees = mysql_fetch_array($requete);

$reste = $donnees['nombre']- $nb;

echo "Nombre de rendez vous restant pour demain: $reste";
?>




mais ça ne fonctionne pas
Pouvez vous m'aider merci
ju3979
le 08/08/2007 à 12:16
Champ date valeur par défaut
j'avais déja regardé la doc mais j'ai vraiment du mal à comprendre
C'est mon premier script php , je suis tout juste débutant

ton code je ne le comprend pas, en plus tu fais un echo à la fin je ne vois pas à quoi il sert dans mon cas car moi je veux juste convertir le format date de la date française à la date US avant que ça soit inséré dans ma base sql

Merci de ton aide
ju3979
le 08/08/2007 à 11:30
Champ date valeur par défaut
ok et de qu'elle maniere ??
j'ai essayé de mettre dans mon script de traitement du formulaire
$date = date('Y-m-d');
mais ça ne change rien ,dans ma base sql il me met toujours des dates fantaisistes

Merci de ton aide
ju3979
le 08/08/2007 à 11:00
Champ date valeur par défaut
ok
par ocntre dans mon champ date du formulaire ma date s'affciche sous la forme JJ/MM/AAAA
mais dans ma table c'est sous la forme AAAA/MM/JJ
Ce qui fait que ça donne des mauvaises date dans ma table
Comment modfier le format date dans ma table?

Merci pour ton aide
ju3979
le 08/08/2007 à 10:39
Champ date valeur par défaut
ok d'accord et si jamais je veut préciser des minutes par exemple 10h30
je dois mettre quoi ?
ju3979
le 08/08/2007 à 10:21
Champ date valeur par défaut
Bonjour

Je viens d'essayer ton code
Il marche bien pour date + 1 day

Mais par contre j'ai modifié le 15 pour mettre 10
if (date('G') > 10) {
// jour + 2
$date = strtotime("+2 day");

Mais cette condition ne marche pas. Dans mon formulaire la date reste à date + 1 day

Pouvez vous m'aider merci
ju3979
le 08/08/2007 à 08:50
Champ date valeur par défaut
j'ai un formulaire que les utilisateurs doivent remplir
J'ai fait un script php pour récupérer les données dans une table

Je souhaiterias mettre une valeur par défaut dans mon champ date
C'est à dire que par défaut la date afficher dans le cahmp date doit être date= date +1 jour
Ensuite je voudrais que tous les jours à partir de 15h la valeur dans le champ date passe automatiquement à date= date +2 jour

Je sais pas comment procéder
Pouvez vous m'aider
Merci
LoadingChargement en cours