[RESOLU] modification, mise à jour UPDATE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] modification, mise à jour UPDATE

Re: [RESOLU] modification, mise à jour UPDATE

par Paul87 » 06 mai 2013, 00:53

ben oui. :oops:
avec un peu de lecture détaillée, on y arrive
$output .= '<td><a href="detail.php?id_a='.urlencode($tab['id_a']).'">'.$tab['detail'].'</a></td>';
Et ça marche..!!
merci

Re: [RESOLU] modification, mise à jour UPDATE

par moogli » 05 mai 2013, 12:17

http://www.lephpfacile.com/cours/3-affi ... -variables tu y trouvera l'explication de ma remarque sur la variable details.


@+

Re: [RESOLU] modification, mise à jour UPDATE

par Paul87 » 05 mai 2013, 11:32

Ça veut dire quoi variable ´detail' pas interprétée ?
Oui. Mon id-a est toujours en numérique mais
Je ne sais pas bien comment faire pour virer urlencode
Encore merci

Re: [RESOLU] modification, mise à jour UPDATE

par moogli » 05 mai 2013, 11:10

Tu a un problème de concaténation, la variable détails n'est pas interprètée.

D'ailleurs ce ne serais pas $tab['details'] plutôt ?

Sinon ton code semble correcte.
Si le id_as est numérique vire l'urlencode.


@+

Re: [RESOLU] modification, mise à jour UPDATE

par Paul87 » 05 mai 2013, 09:53

en fait, ce que je n'arrive pas à faire, c'est dans le code ci dessous faire en sorte que ce soit le texte de 'detail' qui soit le lien actif vers une nouvelle page infos.php (en conservant le passage de id_a)
je n'y arrive pas...conseil?
	
$output = '<table>';
while($tab=mysql_fetch_assoc($resultat))

{
     $output .= '<tr bgcolor="#009966">';
	 $output .= '<td>'.$tab['id_a'].'</td>';
                 $output .= '<td>'.$tab['type'].'</td>';
                 $output .= '<td>'.$tab['cat'].'</td>';
                 $output .= '<td>'.$tab['prof'].'</td>';
	 $output .= '<td>'.$tab['reg'].'</td>';
	 $output .= '<td>'.$tab['dep'].'</td>';
	 $output .= '<td>'.$tab['cat'].'</td>';
	 $output .= '<td>'.$tab['tit'].'</td>';
	 $output .= '<td>'.$tab['detail'].'</td>' ;
	 $output .= '<td>'.$tab['pseudo'].'</td>';

                 $output .= '<td><a href="infos.php?id_a='.urlencode($tab['id_a']).'">$detail </a></td>';} 

{

     $output .= '</tr>';
} 
$output .= '</table>';
echo $output;   
	  
?>

Re: [RESOLU] modification, mise à jour UPDATE

par Paul87 » 05 mai 2013, 08:12

oui, ça ressemble à un forum.
mai ce que le voudrai c'est que ça soit le libellé du sujet qui soit actif
et que la ligne complète puisse changer de couleurau passage de la souris.
exactement comme le fonctionnement de php-debutant/
je n'arrive pas à trasnformer le contenu de
 $output .= '<td>'.$tab['Sujet].'</td>';
en lien.
Merci encore

Re: [RESOLU] modification, mise à jour UPDATE

par moogli » 04 mai 2013, 10:42

Cela ressemble a un forum sur le principe.

Il faut juste ajouter un lien vers une page détails avec l'id dans l'url comme tu le fait pour la validation ;)

Tu trouvera un exemple de forum sur http://www.lephpfacile.com
@+

Re: [RESOLU] modification, mise à jour UPDATE

par Paul87 » 04 mai 2013, 10:33

Bonjour,
Si je pouvais encore me permettre une demande.
Les 2 pages .php ´valide' et 'supprime' sont destinées à l'administration du site qui valide ou supprime les sujets.
J'ai besoin de créer une page pour l'utilisateur, dans laquelle les sujets sont présentés sous forme de tableau horizontal, avec lignes, et colonnes et entête rubrique (par exemple: catégorie, sujet, pseudo, date publi)
Je souhaiterai que l'on puisse cliquer pour chaque ligne dans la case ´sujet´ pour afficher une page qui détaille l'enregistrement in extenso.
Comme un site de petites annonces.( dans mon cas il s'agit de publications et articles spécialisés médicaux)
Ou puis je trouver un tutoriel pour faire ça?
Encore merci..!!

Re: modification, mise à jour UPDATE

par moogli » 03 mai 2013, 22:48

De rien ;)


Et oui un minimum de rigueur et d'organisation sont nécessaire pour ne pas trop gallerer ;)

Tu peux regarder des courts sur la modélisation (UML, ou merise) pour ce qui est de la modélisation de l'application.
Cela t'apportera un socle stable pour développer quelque chose.

C'est plus long de faire l'étude (et même de faire un algorithme sur le papier avant de développer la chose) mais au final tu perd moins de temps a la création et surtout moins de temps a la maintenance car tu ne passe pas 3 ans a chercher comment fonctionne un bout de code ;)


@+

Re: modification, mise à jour UPDATE

par paul87 » 03 mai 2013, 21:19

Bon après remise au propre de mon vilain brouillon
et en suivant à la lettre vos conseils: CA MARCHE
<?php
//code connexion MySQL on line
if(!mysql_connect("********","*********","*************")) 

{ 
Echo'Connection Impossible'; 
exit(); 
} 
else 
{     
Echo'Connexion réussie';
}
// sélection de la database
Mysql_select_db('**********'); 

if(!empty($_GET['id_a'])) {
  $strSQL = 'UPDATE datas SET valid = \'O\' WHERE id_a = '.mysql_real_escape_string($_GET['id_a']);
 
       $retour = mysql_query($strSQL);

  if($retour === false)
  {

        echo 'Erreur SQL avec la requête : ',$strSQL .'<br />',mysql_error(),'<br />';
  }
  
  else
  {
    echo("Enregistrement validé V !!") ;
  
  }
}else {
echo 'pas possible y a pas l\'id dans l\'url !';
}
 
 
	// Close the database connection
	mysql_close();
	
?>
et ça marche aussi nickel pour la requête supprime
je crois que pour évoluer, il va faloir que travaille la rigueur, très bonne école s'il en est!
plus une lecture assidue des tutoriels.
En tous cas MERCI pour vos conseils et vos patiences.
Très sympa
Paul87

Re: modification, mise à jour UPDATE

par moogli » 03 mai 2013, 16:17

Erreur SQL avec la requête : UPDATE datas SET valid = 'O' WHERE id_a = 32
No database selected
pas de mysql_selected_db avant (et pas de mysql_connect non plus si tu n'a que copier que mon code).

il te faut ajouter ces lignes avant tous mysql_query

pour rappel un tuto sur la récupération des données d'une table ;) http://www.lephpfacile.com/cours/13-aff ... votre-base



@+

Re: modification, mise à jour UPDATE

par ghost5922 » 03 mai 2013, 14:30

Bonjour,

peux tu reposte ton code avec la modification de moogli stp oublie pas les balises php

car l'erreur que tu cite veux dire que tu sélectionne pas ta base de donnee

Re: modification, mise à jour UPDATE

par Paul87 » 03 mai 2013, 13:50

Grand merci à toi pour ton soutien

dans barrenavig, il s'affiche : valide.php?id_a=32

Avec
var_dump($_GET);
j'ai : string(2) "32" l'id_a est toujours en numérique.

Pour virer l'urlencode comment fait'on pour avoir une sélection qui correspond à l'enregistrement (id_a) voulu dans le tableau:oops: (rappel: suis novice+++ :) )

j'ai bien testé ton code, et à l'ouverture, j'ai :

Erreur SQL avec la requête : UPDATE datas SET valid = 'O' WHERE id_a = 32
No database selected

alors que si je teste cette requête directement dans phpmyadmin ça fonctionne...

suis paumé..!!

Re: modification, mise à jour UPDATE

par moogli » 03 mai 2013, 11:28

a tu testé mon code ?
est ce qu'il y a quelque chose qui s'affiche ?

est ce que tu a ajouté un var_dump($_GET); en première ligne pour être certain de ce qu'il y a dans l'url ?
est ce que l'id est toujours numérique ?

si oui vire l'url_encode il ne sert à rien.


ça ne marche pas c'est pas une info suffisante, il nous faut détails, as tu quelque chose dans le log serveur ?
$
est ce que tu affiche la requête pour la tester ?
qu'est ce qui s'affiche dans ton navigateur quand tu clique sur le lien valider ?

@+

Re: modification, mise à jour UPDATE

par Paul87 » 03 mai 2013, 11:03

Bonjour,
je n'y comprends rien..
je récupère bien id_a dans l'url et ça s'affiche bien
$id_a = $_GET["id_a"];
echo "le num de l'id est : $id_a <br />";
mais la requête sql UPDATE ne marche pas...
cela ne peut-il pas venir de ma page.php précédente..? (cette page liste tous les enregistrements de la table 'datas'. avec une action soit supprimer, soit valider
si c'est supprimer qui est choisi on part sur une page 'supprimer.php' avec DELETE. et si c'est valider qui est choisi, on part sur une page 'valide.php' avec UPDATE qui devrait changer la valeur 'N' en 'O' dans le champ 'valid' pour l'id_a concernée.
ci dessous le code de ma page qui liste les enregistrements...ça vient peut-être de là..
<html>
	<head>
	<title>ADMIN </title>
<form method="post" action="valide.php">
	
	</head>
	<body>

<?php

 //code connexion MySQL on line
if(!mysql_connect("******","*********","***************")) 


?>
<br><br>
<?php

Mysql_select_db('*************'); 
	
	$strSQL = "SELECT * FROM datas";

	  
	 $resultat=mysql_query($strSQL);
$output = '<table>';
while($tab=mysql_fetch_assoc($resultat))

{
     $output .= '<tr>';
	 $output .= '<td>'.$tab['id_a'].'</td>';
                 $output .= '<td>'.$tab['type'].'</td>';
                 $output .= '<td>'.$tab['cat'].'</td>';
                 $output .= '<td>'.$tab['prof'].'</td>';
	 $output .= '<td>'.$tab['reg'].'</td>';
	 $output .= '<td>'.$tab['dep'].'</td>';
	 $output .= '<td>'.$tab['cat'].'</td>';
	 $output .= '<td>'.$tab['tit'].'</td>';
	 $output .= '<td>'.$tab['detail'].'</td>';
	 $output .= '<td>'.$tab['pseudo'].'</td>';

                 $output .= '<td><a href="supprime.php?id_a='.urlencode($tab['id_a']).'">SUPPRIMER ?</a></td>';
	 $output .= '<td><a href="valide.php?id_a='.urlencode($tab['id_a']).'">VALIDER ?</a></td>';

     $output .= '</tr>';
 
} 
$output .= '</table>';
echo $output;   
	  
	  

mysql_close();
	
?>

</form>
</html>
je suis perdu ..help !! merci +++