Stocker un id en php

Fermé
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 2 avril 2008 à 14:51
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 - 2 avril 2008 à 15:56
Bonjour,
j'ai un gros souci en effet avec le code suivant je récupére la valeur de l'id voulu mais j'ai encore besoin de cet id par la suite
est -ce possible de le stocker dans une variable ou sinon comment faire pour m'en resservir après???

urgent svp...


$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
$proprio=mysql_query('SELECT * FROM base_physique WHERE id =');


while ($donnees = mysql_fetch_array($reponse))
{
echo 'Vous avez ajouter le sujet : '.$donnees['sujet'].' <br /> Il a pour id : '.$donnees['id'].'';
}
?>
A voir également:

8 réponses

absurdsystem Messages postés 117 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 28 août 2008 50
2 avril 2008 à 14:56
Slt !

pout stocker ton id tu peu utiliser les variables de session par exemple

$_SESSION['id']=id;
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
2 avril 2008 à 15:00
oue mais pourtant je m'en ressers sur la meme page donc je ne pense pas avoir besoin d'une session. je te mets le code avec des commenaires en majuscule a la fin des lignes utiles

<?php
session_start();
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
$proprio=mysql_query('SELECT * FROM base_physique WHERE id =');



while ($donnees = mysql_fetch_array($reponse))
{
echo 'Vous avez ajouter le sujet : '.$donnees['sujet'].' <br /> Il a pour id : '.$donnees['id'].''; //LA IL ME SORT L'ID VOULU
}
?>

<br />
<br />



<?php

if( !isset( $_POST[ 'valeurs' ] ) )
{
echo '<form method="post">';
echo '<label for="valeurs">Valeurs (séparez par des tirets, ex : 1-2-3...)</label>';
echo '<input type="text" name="valeurs" id="valeurs" /><br>';
echo '<input type="submit" value="Valider !" />';
echo '</form>';
echo $donnees['id'];
}
else
{

$arr_valeurs = explode( '-', $_POST[ 'valeurs' ] );
$query = "UPDATE base_physique SET auteur = '".$arr_valeurs[0]."' , motstitre = '".$arr_valeurs[1]."' , année = '".$arr_valeurs[2]."' , journal = '".$arr_valeurs[3]."' , volume = '".$arr_valeurs[4]."' , page = '".$arr_valeurs[5]."' , motscle = '".$arr_valeurs[6]."'"
. " WHERE sujet = '".$_SESSION['sujet']."' AND id = '".$donnees['id']."'"; // LA JE LE RAPPELLE ET IL NE LE RECONNAIT PAS
$ex = mysql_query( $query ) or die( mysql_error() );
if( $ex )
echo "L'enregistrement a bien été effectué !";
else
echo "L'enregistrement n'a pu être effectué !";
}

?>
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
2 avril 2008 à 15:01
Bonjour,
soit tu rajoutes dans ta boucle while une variable genre :
$id = $donnees['id'];
Mais le problème est que si tu passes plusieurs fois dans ta boucle, à chaque fois tu réécriras dessus (en l'occurence apparement tu n'y passes qu'une seule fois mais on ne sait jamais...)

Tu peux également faire cela :
$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
$proprio=mysql_query('SELECT * FROM base_physique WHERE id =');

$donnees = mysql_fetch_array($reponse);
$id = $donnees['id'];
$sujet = $donnees['sujet'];

echo 'Vous avez ajouter le sujet : $sujet <br /> Il a pour id : $id'';
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
2 avril 2008 à 15:14
ok merci ca marche
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
2 avril 2008 à 15:21
Lequel lequel ????

Et merci de noter ton message comme résolu, si ça marche ;-)
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
2 avril 2008 à 15:47
nouveau probléme pour les references cela se met bien à l'id voulu mais maintenant je voudrais rajouter le proprio dans un champs de ma table qui s'appelle proprio au meme id que les references mises juste avant
la cela me met le proprio dans une nouvelle ligne de la table donc ce n'est pas ce qui estr voulu puisque tout doit se mettre sur la meme ligne


$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
$donnees = mysql_fetch_array($reponse);
{
echo 'Vous avez ajouter le sujet : '.$donnees['sujet'].' <br /> Il a pour id : '.$donnees['id'].'';
}
?>

<br />
<br />

<?php

if( !isset( $_POST[ 'valeurs' ] ) )
{
echo '<form method="post">';
echo '<label for="valeurs">Valeurs (séparez par des tirets, ex : 1-2-3...)</label>';
echo '<input type="text" name="valeurs" id="valeurs" /><br>';
echo '<label for="proprio">Rentrez votre nom</label>';
echo '<input type="text" name="proprio" id="proprio"><br />';
echo '<input type="submit" value="Valider !" />';
echo '</form>';
}
else
{

$arr_valeurs = explode( '-', $_POST[ 'valeurs' ] );
$proprio= "UPDATE base_physique SET proprio='".$_POST['proprio']."' . WHERE id = '".$donnees['id']."'";
$ex2=mysql_query($proprio) or die (mysql_error());

$query = "UPDATE base_physique SET auteur = '".$arr_valeurs[0]."' , motstitre = '".$arr_valeurs[1]."' , année = '".$arr_valeurs[2]."' , journal = '".$arr_valeurs[3]."' , volume = '".$arr_valeurs[4]."' , page = '".$arr_valeurs[5]."' , motscle = '".$arr_valeurs[6]."'"
. " WHERE sujet = '".$_SESSION['sujet']."' AND id = '".$donnees['id']."'";
$ex = mysql_query( $query ) or die( mysql_error() );
if( $ex && $ex2)
echo "L'enregistrement a bien été effectué !";
else
echo "L'enregistrement n'a pu être effectué !";
}

?>
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
2 avril 2008 à 15:47
nouveau probléme pour les references cela se met bien à l'id voulu mais maintenant je voudrais rajouter le proprio dans un champs de ma table qui s'appelle proprio au meme id que les references mises juste avant
la cela me met le proprio dans une nouvelle ligne de la table donc ce n'est pas ce qui estr voulu puisque tout doit se mettre sur la meme ligne


$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
$donnees = mysql_fetch_array($reponse);
{
echo 'Vous avez ajouter le sujet : '.$donnees['sujet'].' <br /> Il a pour id : '.$donnees['id'].'';
}
?>

<br />
<br />

<?php

if( !isset( $_POST[ 'valeurs' ] ) )
{
echo '<form method="post">';
echo '<label for="valeurs">Valeurs (séparez par des tirets, ex : 1-2-3...)</label>';
echo '<input type="text" name="valeurs" id="valeurs" /><br>';
echo '<label for="proprio">Rentrez votre nom</label>';
echo '<input type="text" name="proprio" id="proprio"><br />';
echo '<input type="submit" value="Valider !" />';
echo '</form>';
}
else
{

$arr_valeurs = explode( '-', $_POST[ 'valeurs' ] );
$proprio= "UPDATE base_physique SET proprio='".$_POST['proprio']."' . WHERE id = '".$donnees['id']."'";
$ex2=mysql_query($proprio) or die (mysql_error());

$query = "UPDATE base_physique SET auteur = '".$arr_valeurs[0]."' , motstitre = '".$arr_valeurs[1]."' , année = '".$arr_valeurs[2]."' , journal = '".$arr_valeurs[3]."' , volume = '".$arr_valeurs[4]."' , page = '".$arr_valeurs[5]."' , motscle = '".$arr_valeurs[6]."'"
. " WHERE sujet = '".$_SESSION['sujet']."' AND id = '".$donnees['id']."'";
$ex = mysql_query( $query ) or die( mysql_error() );
if( $ex && $ex2)
echo "L'enregistrement a bien été effectué !";
else
echo "L'enregistrement n'a pu être effectué !";
}

?>
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
2 avril 2008 à 15:56
Je pense que tu as des problèmes avec des . dans ta requètes SQL Je t'ai corrigé ça très vite fait mais j'ai pas le temps de regarder plus, j'ai un cours dans 5 minutes et j'ai 10 minutes de trajet (j'suis à la bourre quoi...)
$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
$donnees = mysql_fetch_array($reponse);
{
echo 'Vous avez ajouter le sujet : '.$donnees['sujet'].' <br /> Il a pour id : '.$donnees['id'].'';
}
?>

<br />
<br />

<?php

if( !isset( $_POST[ 'valeurs' ] ) )
{
echo '<form method="post">';
echo '<label for="valeurs">Valeurs (séparez par des tirets, ex : 1-2-3...)</label>';
echo '<input type="text" name="valeurs" id="valeurs" /><br>';
echo '<label for="proprio">Rentrez votre nom</label>';
echo '<input type="text" name="proprio" id="proprio"><br />';
echo '<input type="submit" value="Valider !" />';
echo '</form>';
}
else
{

$arr_valeurs = explode( '-', $_POST[ 'valeurs' ] );
$proprio= "UPDATE base_physique SET proprio='".$_POST['proprio']."' WHERE id = '".$donnees['id']."'";
$ex2=mysql_query($proprio) or die (mysql_error());

$query = "UPDATE base_physique SET auteur = '".$arr_valeurs[0]."' , motstitre = '".$arr_valeurs[1]."' , année = '".$arr_valeurs[2]."' , journal = '".$arr_valeurs[3]."' , volume = '".$arr_valeurs[4]."' , page = '".$arr_valeurs[5]."' , motscle = '".$arr_valeurs[6].'" WHERE sujet = '".$_SESSION['sujet']."' AND id = '".$donnees['id']."'";
$ex = mysql_query( $query ) or die( mysql_error() );
if( $ex && $ex2)
echo "L'enregistrement a bien été effectué !";
else
echo "L'enregistrement n'a pu être effectué !";
}

?>

Si ça marche pas dis le moi je regarderais ça en rentrant ce soir (pas avant 22 ou 23H...) J'espère que quelqu'un pourra t'aider entre tps désolé
Et essaye en créant des variables intermédiaires du style $id = $donnees['id']; juste après ton mysql_fetch_array, des fois c'est ça qui plante si c'est mal utilisé
0