Appel à encouragement....

WRInaute accro
J'ai pas de question, j' ai pas de remarque, meme pas de conseil à donner mais :

Je me lance dans PHP et MySQL dans 30 minutes, alors n'hésitez pas à me donner un petit encouragement.....!! :D 8O

allez, aaaaaaa l'aaaaboooordage..........

Adieu.....monde cruel......11
Hervé
 
WRInaute occasionnel
Tu n'as pas encore codé ?
J'ai acheté le bouquin O'Reilly "MySQL et PHP", j'en suis à la page 165 :) , jusque la tout va bien :wink:
 
Olivier Duffez (admin)
Membre du personnel
bon courage :wink:
j'en profite pour faire un sondage : quel est d'après vous le meilleur livre traitant à la fois de PHP et de MySQL ?
 
WRInaute discret
WebRankInfo a dit:
bon courage :wink:
j'en profite pour faire un sondage : quel est d'après vous le meilleur livre traitant à la fois de PHP et de MySQL ?

J'en ai lu aucun :) , mais j'ai ete rarement decut par les livres d'oreilly.
 
WRInaute accro
Bonsoir WebRankInfo
En ce qui me concerne, le seul livre que j'ais jamais ouvert pour apprendre le langage PHP,
c'est 'PHP Pocket Reference' de O'Reilly & Associates, par Rasmus Lesdorf, l'inventeur de ce langage.

Même chose pour le langage HTML: 'HTML Précis et Concis' de O'Reilly & Associates ( en Français ), par Jennifer Niederst.

Faut dire que je connaissais bien le langage SQL, et que j'ai également le manuel donné par la commande 'info mysql' sous Linux RedHat 7.3, alors les détails...

Faut rester simple.

Jean Francois Ortolo
 
WRInaute passionné
Il y a aussi dans la literrature de très bons pdf, très pratiques pour rechercher une expression.
Hélas, ils résistent mal au formatage du disque dur :oops:
 
WRInaute accro
Aahhhh, je me sens moins seul...

Etat des lieux :

- Je n´ai encore jamais codé
- Je me suis couché à minuit hier soir
- premiers résultats : j ai réussi à créer une base, deux tables et à faire des queries dans le dur (directement sur MySQL sans passer par un code php)
- Je ne parviens pas a croiser mes deux tables (users et message). le resultat d une query de type :"select les messages du user untel et montre moi le titre et le contenu" me donne un résultat = à la multiplication du nombre d´entrées dans les deux tableaux. probleme de pimary key je pense, mais j avais envie de dormior, j ai laissé tombé.
- prochain but : remplir une table en passant par un formulaire de saisie en php.

a+
HerveG
 
WRInaute passionné
WebRankInfo a dit:
bon courage :wink:
j'en profite pour faire un sondage : quel est d'après vous le meilleur livre traitant à la fois de PHP et de MySQL ?
Pour moi, sans hésiter: "PHP & mySQL" chez Campus Press.
 
WRInaute occasionnel
herveG a dit:
- Je ne parviens pas a croiser mes deux tables (users et message). le resultat d une query de type :"select les messages du user untel et montre moi le titre et le contenu" me donne un résultat = à la multiplication du nombre d´entrées dans les deux tableaux. probleme de pimary key je pense, mais j avais envie de dormior, j ai laissé tombé.

Ca m'est arrivé la semaine dernière suite à une requête mysql erronée.
Le problème, c'est que les 2 tables que j'avais croisées contenaient 3000 ou 4000 enregistrements chacune. Résultat, 2Go de données temporaires sur le disque dur, le serveur qui a planté au bout d'une heure , après avoir consommé toute la mémoire vive :oops:
Et j'ai découvert après ça qu'on peut arrêter les requêtes en cours d'exécution (instruction KILL). Si j'avais su ça avant :?
Maintenant je fais des tests sur des petites tables quand je ne suis pas certain de mes requêtes.

Conseils :
- voir dans le manuel mySQL l'instruction JOIN
- faire des essais sur des petites tables (pas comme moi !)

Jocelyn
 
WRInaute discret
php.net/getting-started

la bible du débutant: php.net/getting-started
je m'étonnes toujours d'ailleurs du fait que la premiere des choses que cherche a faire un débutant soit des requetes mysql (affichages en boucle etc...) alors que souvent, ce débutant ne connait rien aux éléments de base (fonctions de base, tableaux...).
Faut pas commencer un livre par la fin :)

Sepang
(dev php/mysql)
 
WRInaute occasionnel
herveG a dit:
Et c est grave docteur ????

comment réaliser la liaison entre deux tables ?

Si c'est de jointure dont tu parles, faut savoir que ca consome bcp de ressources et qu'on peux s'en passer pour la pluspart des applications.

La jointure est un SELECT sur 2 tables ou plus ( avec FROM table1 table 2 ...) .

Le SGBD va creer une table en mémoire qui est le produit cartésien des enregistements des tables à joindre et va ensuite lui apliquer la clause.
 
WRInaute occasionnel
alain-b a dit:
Si c'est de jointure dont tu parles, faut savoir que ca consome bcp de ressources et qu'on peux s'en passer pour la pluspart des applications.
Tu t'en passes en faisant 2 requêtes consécutives ?
 
WRInaute accro
Vous connaissez la remarque : je lis toujoursles dernieres pages d un livre, car sait-on jamais, je mourrai peutetre avant d en arriver là !!!

en fait, comme je n´ai pas l´ambition de devenir un expert PHP et MySQL, j´ai juste besoin de quelques notions qui me permettent d utiliser des scripts éventuellement mis à disposition afin de réaliser deux ou trois modules très classiques de type petites annonces, forum, sondage. rien de bien méchant (enfin, j´espère....!!)

Pour le JOIN, j ai effectivement remarqué qu il n allait pas etre automatiquement nécessaire, dans la mesure ou on peut n utiliser qu une table en rajoutant un paramètre (le paramètre que l´on voulait croiser). c est ca ?

a+
HerveG
 
WRInaute occasionnel
Bonjour à tous !

Je ne connais pas MySql mais pas mal le SQL tout court.

Une jointure sur des champs clés n'est pas si gourmande que ça, et je ne vois pas bien comment on pourrait se passer d'elles.

Perso c'est assez rare que j'écrive des requêtes sans jointures, à part pour afficher et modifier les tables paramêtres.

Autre solution : les sous-requetes :
Code:
Select
  nom_client,
  Select Sum( Prix ) from ventes where codeclient = clients.codeclient
From clients
Where codepostal = 'xxxxx'

Mais est-ce que MySql les supporte ???

Sinon un assez bon tutoriel ( poussé même ) ici :

http://sqlpro.developpez.com/indexSQL.html

Bon courage,
A+
 
WRInaute occasionnel
François a dit:
Mais est-ce que MySql les supporte ???
Non MySQL ne supporte pas le Select de Select... Pour limiter l'utilisation des ressources justement d'après ce que j'ai lu. Je pense que cette dernière méthode est plus gourmande qu'un Join, non ?
Pour éviter un Join il est possible de faire 2 requêtes consécutives
Code:
SELECT champ1, champ2, champn, cle_table2 FROM table1
Boucle {
SELECT * FROM table2 WHERE cle=valeur("cle_table2")
}
 
WRInaute occasionnel
Salut !

Je pense que cette dernière méthode est plus gourmande qu'un Join, non ?

Ca dépend du contexte : si le nbr de lignes à joindre est grand mais que le jeu de données résultant est limité il vaut mieux une sous-requête.

Pourquoi ? Parce qu'une sous requête est executée sur le jeu résultant, après la clause "Where" pour fournir le champ qu'elle définie.

En clair : deux tables de 100 000 lignes qui fournissent un résultat de 500 lignes, il vaut parfois mieux une sous-requête. Si c'est deux tables de 2000 lignes parfois c'est une jointure.

Il n'y a pas de règle stricte, ca dépend du moteur SQL, du contexte ( Opérations de regroupement ou pas, plus de 2 tables, sélectivité de(s) l'index, ou déséquilibre important en nbr de lignes.... ).

Code:
SELECT champ1, champ2, champn, cle_table2 FROM table1 
Boucle { 
SELECT * FROM table2 WHERE cle=valeur("cle_table2") 
}

Là par contre c'est très gourmand en resources : c'est moins gourmand pour un moteur SQL de faire ca en "interne" avec une sous-requête ou une jointure que de se prendre 100 ou 500 fois la même requête depuis l'extérieur ( c-a-d depuis son API ) car il va devoir à chaque fois : vérifier les droits,préparer la requête ( vérification du schéma, colonnes présentes, index utilisables...) pour l'éxecuter. Et je te parles pas de l'utilisation réseau !

Enfin c'est un vaste sujet qui dépend tellement du "caractère" du moteur SQL et de l'analyse des données qui a été faite ....

Mais c"est sympa d'en discuter... ça change des moteurs... de recherche :wink:

A+
 
WRInaute occasionnel
absoluteweb a dit:
alain-b a dit:
Si c'est de jointure dont tu parles, faut savoir que ca consome bcp de ressources et qu'on peux s'en passer pour la pluspart des applications.
Tu t'en passes en faisant 2 requêtes consécutives ?

la théorie (merise, mega ...) qui veut que les bases de données se construisent en sans redondance d'information oblige ensuite a faire un max de jointures.

je pense qu'il est préférable d'avoir des tables qui se recouvrent parfois et ainsi d'éviter de faire des jointures a chaque requete surtout si les table contiennent plusieurs milliers de lignes.

Un pro du SQL pourrait surement nous dire si 2 requetes + un tratiement php sont préférables a une jointure .. ??
 
WRInaute occasionnel
Bonjour,

Je le répète je ne connait pas MySql, mais je pense qu'il fontionne comme n'importe quel autre moteur SQL !?

Un pro du SQL pourrait surement nous dire si 2 requetes + un tratiement php sont préférables a une jointure .. ??

Je n'ai jamais fait cela en huit ans de Sql :!:

Sur un BD bien construite ( Avec une analyse Merise par exemple :wink: ) je pense, sans avoir fait de tests, que la jointure sera bien plus efficace !

De plus ce n'est pas deux requêtes qu'il faut faire mais autant qu'il y a de lignes communes aux deux tables !

ex : 10 clients avec chacun 10 factures, ça fait 101 requêtes, c'est énorme pour, au final, un tout petit jeu de données !

De plus, il faut se dire que de faire çà c'est refaire le boulot du moteur Sql non :?:
Pourquoi pas alors, quand on veut faire une somme, ne pas charger la table entière, puis faire une boucle !

Avez vous été voir le liens vers SQLPro ci dessus ?

Bref voilà mon expérience.

A+
 
WRInaute passionné
WebRankInfo a dit:
quel est d'après vous le meilleur livre traitant à la fois de PHP et de MySQL ?
Bonjour, "PHP & MySQL" de Luke Welling & Laura Thomson aux éditions CampusPress (français).
Très pédagogique, nombreux exemples, des applications entières décrites (forums, e-mail, CMS, ...). Pré-requis : connaître le HTML. La connaissance de la programmation n'est pas indispensable, vu la clarté de la rédaction.
 
Olivier Duffez (admin)
Membre du personnel
c'est bizarre cela fait 2 personnes qui conseillent celui de Campus Press, alors qu'un formateur en PHP/MySQL m'a conseillé plutôt celui de O'Reilly, disant que le Campus n'était pas terrible...
D'autres avis ?
 
WRInaute impliqué
Je dirais que ceux de Campus press sont plus tournés débutants.
Mais vous oubliez les livres de chez Dunod, qui sont également très bien !!!
 
WRInaute impliqué
Heu aucun bouquin, j'ai appris au fur et à mesure, en regardant des scripts déjà existants (et c'est maintenant que je me rends compte que c'était fait n'importe comment), en lisant la documentation de php.net, celle de mysql.com.

Le seul bouquin que j'avais acheté à mes débuts c'était "PHP & Mysql" de Micro Applications, en format poche (10€ jcrois). Maintenant il me sert de calle pour les vieux meubles ^^

En fait je rejoins ce que dis PsyLo.
A mon avis, vaut mieux apprendre p'tit à petit. Tu apprendras en découvrant tes besoins et en essayant d'y parvenir. J'ai eu la chance d'avoir des cours d'algorithmie donc c'est plus facile pour mettre en oeuvre un raisonnement informatique.
Le risque d'apprendre tout seul c'est de "mal apprendre" ;)


Pour répondre à Alain, il y a des cas où je préfère avoir 2 requêtes. OK j'en ai 2 mais elles sont moins lourdes et m'évitent un tas de traitements PHP derrière.
Et dans le cas où, par exemple, vous auriez 2 fois les mêmes données à extraire et à afficher sur une page, je conseille de faire 1 fois la requête et de sauver ça dans une variable de type array.
 
WRInaute discret
J'ai trois bouquins sur php et mysql :
- "PHP4 et Mysql", aux éditions Micro Application. Plutôt pour débutants, mais je ne le conseille pas trop, ce n'est pas très clair parfois.
- "Programmation en PHP 4", de Léon Atkinson, plus réservé aux initiés mais assez bien fourni.
et j'ai également un petit bouquin intéressant sur les différentes manières d'optimiser PHP, soit par le code, soit par les solutions de cache et autres systèmes que l'on peut trouver, genre zend.
 
Discussions similaires
Haut