Probele avec l'id
ladj59
Messages postés
322
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
j'ai un petit souci
je récupére l'd d'un sujet sur ma page php et je voudrais compléter ma bdd qui contient juste le sujet correspondant...
now je veux la compléter en mettant pour id = celui récupéré alors compléter la bdd
avec le code qui suit cela marche mais le probléme c'est qu'il n'y a pas la condition avec l'id donc si il y a plusieurs sujets identiques alos il compléte les autres champs de la ligne pour tous les sujets alors qu'il faudrait que ce soit juste pour le dernier
<?php
$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
while ($donnees = mysql_fetch_array($reponse))
{
echo 'Id : '.$donnees['id'].' - Sujet : '.$donnees['sujet'];
}
?>
<?php
if( !isset( $_POST[ 'valeurs' ] ) )
{
echo '<form method="post">';
echo '<label for="valeurs">Valeurs (séparez pas des tirets, ex : 1-2-3...)</label>';
echo '<input type="text" name="valeurs" id="valeurs" /><br>';
echo '<input type="submit" value="Enregistrer !" />';
echo '</form>';
}
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']."'";
$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é !";
j'ai un petit souci
je récupére l'd d'un sujet sur ma page php et je voudrais compléter ma bdd qui contient juste le sujet correspondant...
now je veux la compléter en mettant pour id = celui récupéré alors compléter la bdd
avec le code qui suit cela marche mais le probléme c'est qu'il n'y a pas la condition avec l'id donc si il y a plusieurs sujets identiques alos il compléte les autres champs de la ligne pour tous les sujets alors qu'il faudrait que ce soit juste pour le dernier
<?php
$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
while ($donnees = mysql_fetch_array($reponse))
{
echo 'Id : '.$donnees['id'].' - Sujet : '.$donnees['sujet'];
}
?>
<?php
if( !isset( $_POST[ 'valeurs' ] ) )
{
echo '<form method="post">';
echo '<label for="valeurs">Valeurs (séparez pas des tirets, ex : 1-2-3...)</label>';
echo '<input type="text" name="valeurs" id="valeurs" /><br>';
echo '<input type="submit" value="Enregistrer !" />';
echo '</form>';
}
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']."'";
$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é !";
A voir également:
- Probele avec l'id
- Id telephone - Guide
- Document id lycamobile - Forum LG
- Id=108 - Forum MacOS
- Go trust id ✓ - Forum Logiciels
- Id reseau tv - Forum TNT / Satellite / Réception
$reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1');
en faisant ainsi tu n'auras toujours que le premier id
echo '<label for="valeurs">Valeurs (séparez pas des tirets, ex : 1-2-3...)</label>';
si je comprend bien tu demandes à l'utilisateur de séparer les valeurs à modifer par un tiret sachant que chacune représente l'auteur, le titre mot cle etc..
passe l'id en champ caché et fais la condition WHERE sur le champ id comme ça:
<?php $reponse=mysql_query('SELECT * FROM base_physique ORDER BY id DESC LIMIT 1'); while ($donnees = mysql_fetch_array($reponse)) { echo 'Id : '.$donnees['id'].' - Sujet : '.$donnees['sujet']; } ?> <?php if( !isset( $_POST[ 'valeurs' ] ) ) { echo '<form method="post">'; echo '<label for="valeurs">Valeurs (séparez pas des tirets, ex : 1-2-3...)</label>'; echo '<input type="text" name="valeurs" id="valeurs" /><br>'; echo '<input type="hidden" name="id" id="id" value='.$donnees['id'].'/><br>';//on passe l'id en champ caché echo '<input type="submit" value="Enregistrer !" />'; echo '</form>'; } 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 id = '".$_POST[ 'id' ]."'"; $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é !"; }au passage, prends l'habitude de mettre toujours des { } pour les if else même si une seule instruction, car si tu dois en rajouter une autre instruction tu vas les oublier.
n'aurait il pas été plus simple de faire un champ pour chaque valeur "auteur" "motstitre" annee etc... dans ton formulaire ?
@lain