PHP Mini cours
- 17/01/2009
PHP Cours Mini - Nouvelles Système (utilisateur mise à jour) - Leçon 14
Bonjour à tous! Aujourd'hui nous allons faire une autre leçon de notre mini-cours. Pour conclure les étapes de base avec Mysql, manquant seulement savoir comment mettre à jour les données dans la base de données.
Ces étapes de base sont appelés CRUD, voir ce lien Wiki pour plus de détails: http://pt.wikipedia.org/wiki/CRUD~~V
Vous avez appris que, pour entrer des données dans la base de données en utilisant la commande INSERT ;
Vous avez appris que pour sélectionner les données à partir de la base de données en utilisant la commande SELECT ;
Vous avez déjà appris que, pour supprimer les données de la base de données en utilisant la commande SUPPRIMER ;
Il ne manque que l'instruction UPDATE.
La commande UPDATE est utilisé pour mettre à jour les données de la base de données. Voici la syntaxe de la commande:
- campo1 = valor, campo2 = valor, campo10 = valor MISE À JOUR nom_table SET champ1 = valeur, champ2 = valeur = campo10
Mais en exécutant la commande ci-dessus, tous les enregistrements de cette table seront touchés. Pour la mise à jour sera dans un dossier (peu) indiquée (s), nous utilisons la clause WHERE et de définir un critère (généralement utiliser le champ ID). Voici comment la commande sera:
- campo1 = valor, campo2 = valor WHERE campo_criterio = valor_criterio MISE À JOUR nom_table SET champ1 = valeur = valeur WHERE champ2 = campo_criterio valor_criterio
Pour voir la documentation complète de cette commande SQL: http://dev.mysql.com/doc/refman/5.0/en/update.html
Alors, faisons la modification des données utilisateur dans notre système. Faisons ce qui suit:
l Dans la liste des utilisateurs (usuarios_lista.php) va créer un lien vers un formulaire (usuarios_edita_formulario.php) passant l'ID utilisateur via la méthode GET, ce fichier va charger les données utilisateur dans un formulaire;
l Besoin de créer un fichier qui sera chargé de l'exécution de la commande UPDATE dans le bon utilisateur.
Le lien dans la liste sera très similaire à la liaison que vous avez créé pour faire la commande DELETE. Voici comment le fichier a été usuarios_lista.php:
- <?
- # === - Inclure le fichier qui se connecte à la base de données
- 'banco.php' ) ; require ('banco.php');
- ?>
- la liste des utilisateurs du système <h1> </ h1>
- <?
- # === - Je construis la commande SQL qui rend la recherche pour les utilisateurs
- ; 'SELECT id, nom, email FROM utilisateurs $ sql =;
- # === - Exécution de SQL
- # === - Nombre total d'enregistrements trouvés Recupero
- # === - Je imprimer le nombre total d'enregistrements
- # === - TOUT alors que la commande est vrai, c'est à dire, tant qu'il y aura enregistrements à afficher.
- # === - Déclarer des variables avec les données qui ont été enregistrées dans la base de données
- [ 'nome' ] ; $ Nom = $ row ['nom'];
- [ 'email' ] ; $ Email = $ row ['email'];
- [ 'id' ] ; $ Id = $ row ['id'];
- # === - Je imprimer le nom et l'e-mail
- . $id . "'>Apagar</a> - <a href='usuario_edita_formulario.php?id=" . $id . "'>Editar</a> ]<BR>" ; echo "$ nom <b> </ b> (<a href='mailto:$email'> $ e-mail </ a>) -.. [<a href = '? usuario_delete.php id =' $ id" ' > Supprimer </ a> - <a href='usuario_edita_formulario.php?id=". $id. "'> Modifier </ a>] <BR> ";
- }
- ?>
Ligne Seulement 28 avaient changement.
Testez votre navigateur et vérifier si le lien fonctionne correctement. Voici une image de mon écran:
Maintenant nous avons besoin pour rendre le fichier qui affiche les données de l'utilisateur dans un formulaire. Voyons duplicata »usuario_formulario.php 'le fichier et renommez la copie de« usuario_edita_formulario.php ». Car ainsi nous ne devons pas le faire à nouveau le formulaire ![]()
Voici comment il va le usuario_edita_formulario.php, expliquer le code ci-dessous:
- <?
- # === - Inclure le fichier qui se connecte à la base de données
- 'banco.php' ) ; require ('banco.php');
- # === - Nous avons reçu l'ID utilisateur afin de sélectionner les données de la base de données
- [ 'id' ] ; $ Id = $ _GET ['id'];
- ; $ Sql = "SELECT * FROM utilisateurs WHERE id = $ id";
- { Else {}
- }
- ?>
- <h1> édition utilisateurs </ h1>
- method= "POST" > <form name= "form1" action= "usuario_edita.php" method= "POST">
- value= "<?=$dados['id']?>" > <Input type = "hidden" name = "id" value = "<? = $ Data ['id']?>">
- id= "nome" maxlength= "50" value= "<?=$dados['nome']?>" /><BR> Nom: <input type = "text" name = "Nom" id = "nom" maxlength = "50" value = "?? <= $ Data ['nom']>" /> <BR>
- name= "email" id= "email" maxlength= "50" value= "<?=$dados['email']?>" /><BR> E- courrier : <input type = "text" name = "email" id = "email" maxlength = "50" value = "?? <= $ data ['email']>" /> <BR>
- id= "usuario" maxlength= "12" value= "<?=$dados['usuario']?>" /><BR> Utilisateur: <input type = "text" name = "Utilisateur" id = "Utilisateur" maxlength = "12" value = "?? <= $ Data ['Utilisateur']>" /> <BR>
- id= "senha" maxlength= "12" value= "<?=$dados['senha']?>" /><BR> Mot de passe: <input type = "text" name = "password" id = "password" maxlength = "12" value = "?? <= $ Data ['password']>" /> <BR>
- <BR>
- /> <input type= "submit" value= "Enviar" />
- </ Form>
- <?
- { Else {}
- # === - Estime que l'ID est incorrect
- }
- ?>
Ligne 3: Nous appelons le fichier qui se connecte à la base de données
Ligne 6: Nous avons reçu l'ID qui a été adoptée via la méthode GET.
Ligne 8: Nous vérifions si le paramètre passé (ID) est valide, c'est à dire si cela signifie que le nombre est peut-être une pièce d'identité.
Ligne 10/11: données de l'utilisateur sélectionné, notez que nous ne précise pas les domaines qui sont récupérés ... utiliser le joker * pour mettre tous les domaines.
Ligne 13: Nous vérifions si la variable $ sql n'est pas vide.
Ligne 14: Si elle n'est pas vide, nous la transformons en un tableau () avec les données des utilisateurs.
Ligne 16: Si elle est vide, nous avons signalé l'erreur;
Ligne 17: Nous tua le script, afin de ne pas afficher le formulaire vierge.
Linha23: Nous allons définir «l'action» et «usuario_edita.php 'le fichier parce qu'il sera chargé de faire la MISE À JOUR.
Ligne 24: Nous créons un champ de type HIDDEM (cachée) avec l'ID utilisateur. Car il nous faut passer au fichier de la mettre à jour correctement.
25/26/27/28 ligne: Nous incluons la «valeur» de l'attribut dans tous les domaines, qu'ils reçoivent la valeur correspondante de rentrer de la base de données. En bref: Provoque la forme pour transporter des données utilisateur.
* Note 1: Le PHP de commande est un raccourci pour <<=?>? echo?>
* Note 2: N'oubliez pas de changer le type de champ de mot de passe votre mot de passe en texte.
Ligne 35: Affiche erreur si l'identifiant n'est pas numérique.
Maintenant pour le test! Cliquez sur "Modifier" à partir d'un utilisateur et voir si le système se comportera correctement. Voir une photo de mon ordinateur:
Parfait, reste maintenant à 'usuario_edita.php' le fichier. Il doit en être ainsi:
· Réception des données de formulaire;
· Exécutez UPDATE;
· Voir le message le succès ou d'erreur;
Donc, voir ci-dessous pour savoir comment le fichier a été:
- <?
- # === - Inclure le fichier qui se connecte à la base de données
- 'banco.php' ) ; require ('banco.php');
- # === - On vérifie que la personne remplir tous les champs
- # === - Les données de formulaire Recupero
- [ 'id' ] ; $ Id = $ _POST ['id'];
- [ 'nome' ] ; $ Nom = $ _POST ['nom'];
- [ 'email' ] ; $ Email = $ _POST ['email'];
- [ 'usuario' ] ; $ Utilisateur = $ _POST ['utilisateur'];
- [ 'senha' ] ; $ Password = $ _POST ['password'];
- # === - Je construis la commande SQL qui ne UPDATE dans la base de données
- ; $ Sql = "UPDATE utilisateurs SET nom = '$ name', email = '$ email', User = '$ utilisateur', 'password $' mot de passe = WHERE id = $ id";
- # === - Exécution de SQL
- # ==== - Je vois que la commande a été exécutée avec succès
- $sql ) { if ($ sql) {
- echo 'utilisateur modifié avec succès. Href="usuario_lista.php"> <a <BR> Cliquez ici </ a> pour voir la liste des utilisateurs enregistrés.;
- { Else {}
- echo "Oups .. ( ) . ') – ' . mysql_error ( ) ; une erreur s'est produite: ('. mysql_errno (). ') -'. mysql_error ();
- }
- { Else {}
- echo "S'il vous plaît remplir tous les champs. Cliquez sur <a href = <BR> "usuario_formulario.php"> ici </ a> pour revenir ».;
- }
- ?>
Je vais commenter uniquement les lignes les plus importantes:
Ligne 6: Nous avons testé toutes les données ont été saisies;
Ligne 16: Montant de commande SQL que nous avons appris au début de la classe. En souvenir d'un ensemble dans la clause WHERE, si elle n'avait pas définie, les données saisies dans le formulaire serait appliqué à tous les utilisateurs du système.
Comme je dis toujours, nous faisons un mini-cours. Bien sûr, nous pourrions mettre en œuvre ce système de différentes façons (encore plus correct), mais l'idée de ce cours est de vous donner une introduction à PHP. Si vous avez des questions ou des suggestions s'il vous plaît juste poster.
Un gros câlin.





14 Responses to "Cours Mini PHP - Système de Nouvelles (Utilisateur Mise à jour) - Leçon 14"
Bonjour Marcelo, je vérifie le code pour mettre à jour les utilisateurs de fichiers usuario_edita_formulario.php et la définition de la variable 'id' pour le mondial GET est étrangement retour une erreur de syntaxe. Au contraire, je suis l'aide de votre code personnalisé, pour s'entraîner. Volera mangé à une certaine classe précédente.
Mon code ressemble à:
<?
/ / Inclure le fichier qui se connecte à la base de données
require ('banco.php');
/ / On récupère l'ID utilisateur afin de sélectionner les données de la base de données
$ Id = $ _GET ['id'];
/ / Si (is_numeric ($ id)) {
$ Sql = "SELECT * FROM nouvelles WHERE id = $ id";
$ Sql = mysql_query ($ sql);
if (! empty ($ sql)) {
$ Data = mysql_fetch_array ($ sql);
Else {}
echo "NOUVELLES pas trouvé! Retour ";
die ();
}
}
?>
Modification des utilisateurs
<input type="hidden" name="id" value="">
Nom: <input type="text" name="nom" id="nome" maxlength="50" value="" />
Nom: <input type="text" name="sobrenome" id="sobrenome" maxlength="50" value="" />
Ville: <input type="text" name="cidade" id="cidade" maxlength="50" value="" />
Statut: <input type="text" name="estado" id="estado" maxlength="12" value="" />
E-mail: <input type="text" name="email" id="email" maxlength="12" value="" />
Titre: <input type="text" name="titulo" id="titulo" maxlength="50" value="" />
Légende: <input type="text" name="subtitulo" id="subtitulo" maxlength="50" value="" />
Texte: <input type="textarea" name="texto" id="texto" maxlength="50" value="" />
<?
Else {}
/ / Appelle l'ID est incorrect
echo "Entrez un ID valide! Retour ";
}
?>
Par Patrick (1 commentaires) sur 18/01/2009
VLW, kra.
Je vais voir si elles vous voulez, je peux toujours poster.
Étreintes,
Par Michael Mafort (7 commentaires) sur 18/01/2009
C'est ça kra ... si vous avez besoin d'aide dites-le!
Vous avez des connaissances à partager comme l'enfer! J'ai l'intention de publier de nouvelles choses quand on commence à étudier pour la certification peut faire un partenariat ... heheheheh
Gros câlin!
Pour Marcelo Sabadini (112 commentaires) sur 18/01/2009
Patrick Bonjour à tous une bonne?
Eh bien, tout d'abord vous remercier d'être la suite de la mini-cours.
Ne seguite lui être correcte:
1) Vérifier toutes les citations, parce que quand der CTRL + C et CTRL + V, en fait, les guillemets sont remplacés avec des accents (le plugin génère le code de couleur dans mon blog, il est = /).
2) J'ai vu que vous avez commenté la ligne qui a le SI afin de valider que l'ID est numérique! Il Décommentez ok?
3) Après le die (), fermer un seul} (clé). En fermant un de plus, vous fermez la FI qui valide le numéro d'identification de l'être!
En faisant de sorte que votre script obtenir 100%!
QQ suffit de poster quelque chose!
Gros câlin!
Pour Marcelo Sabadini (112 commentaires) sur 18/01/2009
Marcelo! J'ai mis sur mon usuario_cadastro.php
au lieu d'une balise input select, mais je savais comment gérer la valeur des données est manquant, il dit de remplir le champ. VLW!
Par Alessandro Coelho (5 commentaires) sur 22/03/2009
Bonsoir Alessandro va bien?
D'abord, vous remercier pour être passé sur mon site ... et le compliment!
Eh bien, à l'égard de noter les dates dans Mysql a un petit détail. Le format qui stocke les champs de la base de type DATE est la suivante: AAAA-MM-JJ.
Ainsi, lorsque vous avez un champ qui reçoit jj-mm-aaaa format que vous devez rester dans le format attendu par la banque.
Le moyen le plus facile je trouve est le suivant:
Maintenant, la variable $ data_formatada tout cela prête à être insérée dans Mysql.
Mais, souvenez-vous de traiter la date si DATETIME. Vous devez séparer les heures et entrez le data_formatada $.
Hope this helps .. Un gros câlin!
Pour Marcelo Sabadini (112 commentaires) sur 22.03.2009
Il a travaillé .. c'était juste une erreur dans usuario_cadastro.php!
Je
Par Alessandro Coelho (5 commentaires) sur 22/03/2009
J'ai fait un VARCHAR pour enregistrer la date .. facinhu bien. Le DATE, je suis encore à apprendre = D
Par Alessandro Coelho (5 commentaires) sur 23/03/2009
Marcelo! + Une chose! Désolé pour le déluge ..
Si je veux mettre en place des comptes afin que je puisse faire un login et définir qui a accès aux études postsecondaires des nouvelles je dois créer un booléen type de table, à droite? Type numérique BOOL? Si vous pouviez ensuite montrer comment faire la page de connexion serait super! FLWS
Par Alessandro Coelho (5 commentaires) sur 23/03/2009
@ Alessandro Coelho .. Je ne recommande pas d'utiliser varchar.
Eh bien, si vous avez besoin de filtrer par date, il sera un mal de tête .. par exemple,
- Ramasser des enregistrements dans une plage de dates
- Ou ramasser les dossiers de la X mois;
penser à faire un système de nouvelles qui vous donnera la liste de la plus consultée nouvelles soh q de la même date l'an dernier. Ce serait un gros mal de tête hehehehe
Étreintes!
Par Marcelo (3 commentaires) sur 23/03/2009
Marcelo, bon après-midi!
Je commence à programmer en PHP et je suis un doute, roulé la structure en fonction de leur information, mais la valeur de commande = ""> n'est pas soumis les valeurs de la banque et que la mise à jour ne fonctionne pas, pouvez-vous me donner un aider.
Salutations
Pour Ferrari (1 commentaires) sur 27.11.2009
Notre bien-aimé étudier ici à la maison, je te donne ce droit!
une bonne conception que j'ai faite était le CRM pro s'il vous plaît faire un système qui fragrance pour vous inscrire sur le site, il tomberait dans les questions déjà fait directement dans la base de données et phpadm tout cela et il ya travaillé, il a voulu connaître le pourcentage de chaque réponse chaque client!
plus nous ne pouvions tirer nom de la personne, question et réponse et je voulais apprendre à tirer de cette réponse porgentagem à chaque client?
la base de données était:
clients: id_cliente, nom, adresse
et la chute dans la question table de registres
il était: codigo_pergunta demande
et les réponses de table
codigo_resposta, codi_cliente, codi_pergunta, la réponse.
Nous ne pouvons le faire:
pussar le client le code, le nom du client, les questions et les réponses!
plus il voulait porgentagem pourrait donner une conférence sur cette partie? /
Pour Kelly (1 commentaires) sur 06.11.2010
Guy qui l'a publié .. merci beaucoup ... m'a vraiment aidé dans mon stage .. merci
Par Edward meneses (2 commentaires) sur 23/11/2011
J'ai besoin d'aide, mon code a fait pratiquement la même pour votre mise à niveau, lorsque je change ça se voit "données a changé avec succès", mais la banque ne montre pas mis à jour
Par Edward meneses (2 commentaires) sur 24/11/2011