A voir également:
- Pourquoi T au lieu de 1
- Trouver un lieu avec coordonnées gps - Guide
- Voir un lieu en direct par satellite - Guide
- Excel afficher 01 au lieu de 1 - Guide
- Lieu de connexion facebook - Guide
- Comment faire la localisation d'un lieu ? - Guide
5 réponses
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
10 mars 2009 à 15:28
10 mars 2009 à 15:28
$nb++;
lorsque vous faites ça $nb n'est pas un entier donc l'incrémentation en peut pas marcher
lorsque vous faites ça $nb n'est pas un entier donc l'incrémentation en peut pas marcher
c'est cela que je ne comprend pas
enfaite au début je récupère la valeur la plus grande ensuite j'essaye de faire un ++
mais il n'y a pas de nombre, pas facile de trouver un max
j'ai beau enregistrer mais ca n'enregistre que T
enfaite au début je récupère la valeur la plus grande ensuite j'essaye de faire un ++
mais il n'y a pas de nombre, pas facile de trouver un max
j'ai beau enregistrer mais ca n'enregistre que T
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
10 mars 2009 à 15:57
10 mars 2009 à 15:57
ok donc il faudrait faire
$sql2 = "SELECT max(num) FROM infos_tbl";
$requete = mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
while($resultat=mysql_fetch_row($requete))
{
$max = $resultat[0];
}
$np=ATK00;
$nb = $max + 1;
$nb = $np.$nb;
$sql2 = "SELECT max(num) FROM infos_tbl";
$requete = mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
while($resultat=mysql_fetch_row($requete))
{
$max = $resultat[0];
}
$np=ATK00;
$nb = $max + 1;
$nb = $np.$nb;
JF
>
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
10 mars 2009 à 16:07
10 mars 2009 à 16:07
je viens d'essayé c'est beaucoup mieux,merci, sa n'enregistre plus de T
sa enregistre bien ATK001 mais...
sauf que sa enregistre ATK001 pour tous ! sa n'avance pas ATK002...
sa enregistre bien ATK001 mais...
sauf que sa enregistre ATK001 pour tous ! sa n'avance pas ATK002...
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
>
JF
10 mars 2009 à 16:13
10 mars 2009 à 16:13
ah oui suis-je bête...
Le problème c'est que le champ num de votre table n'est pas un entier puisqu'on inscrit ATK001 dedans donc la fonction max ne peut pas fonctionner donc il faut faire
select num FROM infos_tbl order by num DESC
EDIT et ensuite faire un substring pour récupérer uniquement la fin du champ voir le faire dans la requête s'il est accepté
Le problème c'est que le champ num de votre table n'est pas un entier puisqu'on inscrit ATK001 dedans donc la fonction max ne peut pas fonctionner donc il faut faire
select num FROM infos_tbl order by num DESC
EDIT et ensuite faire un substring pour récupérer uniquement la fin du champ voir le faire dans la requête s'il est accepté
JF
>
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
10 mars 2009 à 16:22
10 mars 2009 à 16:22
ah d'accord merci
mais il serait possible d'avoir une petite aide pour cette fonction svp
je ne la connait absolument pas et je ne l'ai jamais vu
mais il serait possible d'avoir une petite aide pour cette fonction svp
je ne la connait absolument pas et je ne l'ai jamais vu
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
>
JF
10 mars 2009 à 16:25
10 mars 2009 à 16:25
d'abord il me faut une précision, votre num se compose ainsi :
ATK + nombre (001 etc)
?
ATK + nombre (001 etc)
?
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
11 mars 2009 à 11:18
11 mars 2009 à 11:18
Après avoir fait le INSERT INTO vous relancez le tout?
voila ce qu'il y a après la requete
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$nb')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
//on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
}
?>
<p><?php echo $max; ?></p>
<br /><a href="contact.html"><strong> <font size="5"> Retour </font></strong></a>
</body>
</html>
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$nb')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
//on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
}
?>
<p><?php echo $max; ?></p>
<br /><a href="contact.html"><strong> <font size="5"> Retour </font></strong></a>
</body>
</html>
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
>
JF
11 mars 2009 à 11:26
11 mars 2009 à 11:26
et le max reste toujours à 1?
JF
>
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
11 mars 2009 à 11:28
11 mars 2009 à 11:28
oui
le $max renvoi 1 toujours
le $max renvoi 1 toujours
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
>
JF
11 mars 2009 à 11:30
11 mars 2009 à 11:30
Ca doit vouloir dire qu'il n'arrive pas à faire l'order by DESC .
Vous avez Mysql?
Vous avez Mysql?
design
>
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
11 mars 2009 à 11:36
11 mars 2009 à 11:36
oui EasyPHP MYSQL
Louve T
Messages postés
95
Date d'inscription
jeudi 22 février 2007
Statut
Membre
Dernière intervention
27 août 2012
2
11 mars 2009 à 15:29
11 mars 2009 à 15:29
ça tombait pourtant sous le sens...
désolée j'ai pas pu m'empêcher ...
désolée j'ai pas pu m'empêcher ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
11 mars 2009 à 15:33
11 mars 2009 à 15:33
Vous avez une solution? :)
:D
voila tous mon code alors :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ajout</title>
</head>
<body>
<?php
$num = $_POST['num'];
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['icq'])) $icq=$_POST['icq'];
else $icq="";
if(isset($_POST['titre'])) $titre=$_POST['titre'];
else $titre="";
if(isset($_POST['url'])) $url=$_POST['url'];
else $url="";
// On vérifie si les champs sont vides
if(empty($nom) OR empty($prenom) OR empty($email) OR empty($titre) OR empty($url))
{
echo '<font color="red">Attention, seul le champs <b>ICQ</b> peut rester vide !</font>';
}
// Aucun champ n'est vide, on 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('base',$db) or die('Erreur de selection '.mysql_error());
// for ($i =0; $i <= 5; $i++)
//{
//$num = 'p'.$i;
$sql2 = "SELECT num FROM infos_tbl order by num DESC";
$requete = mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
$i = 0 ;
while($resultat=mysql_fetch_row($requete) && $i==0)
{ echo $i;
$max = $resultat[0];
$i++;
}
$max = substr($max, 5, strlen($max));
$np=ATK00;
$nb = $max + 1;
$nb = $np.$nb;
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$nb')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
//on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
}
?>
<p><?php echo $max; ?></p>
<br /><a href="contact.html"><strong> <font size="5"> Retour </font></strong></a>
</body>
</html>
voila tous mon code alors :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ajout</title>
</head>
<body>
<?php
$num = $_POST['num'];
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['icq'])) $icq=$_POST['icq'];
else $icq="";
if(isset($_POST['titre'])) $titre=$_POST['titre'];
else $titre="";
if(isset($_POST['url'])) $url=$_POST['url'];
else $url="";
// On vérifie si les champs sont vides
if(empty($nom) OR empty($prenom) OR empty($email) OR empty($titre) OR empty($url))
{
echo '<font color="red">Attention, seul le champs <b>ICQ</b> peut rester vide !</font>';
}
// Aucun champ n'est vide, on 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('base',$db) or die('Erreur de selection '.mysql_error());
// for ($i =0; $i <= 5; $i++)
//{
//$num = 'p'.$i;
$sql2 = "SELECT num FROM infos_tbl order by num DESC";
$requete = mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
$i = 0 ;
while($resultat=mysql_fetch_row($requete) && $i==0)
{ echo $i;
$max = $resultat[0];
$i++;
}
$max = substr($max, 5, strlen($max));
$np=ATK00;
$nb = $max + 1;
$nb = $np.$nb;
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$nb')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
//on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
}
?>
<p><?php echo $max; ?></p>
<br /><a href="contact.html"><strong> <font size="5"> Retour </font></strong></a>
</body>
</html>
10 mars 2009 à 15:30
en effet le champ nm est en varchar mais si je le met int sa ne marche a cause des lettres
donc est-ce impossible d'incrémenté du style ATK001 ,ATK002 en php ?????
10 mars 2009 à 15:33
$nb = $np.$sql2['num'];
10 mars 2009 à 15:38
sinon il enregistre seulement T et la il enregistre ATKOOT
10 mars 2009 à 15:45
SELECT max(num) FROM infos_tbl
je ne vois pas le rapport avec le T :s