exercice PHP

yohan2011
Invité n'ayant pas de compte PHPfrance

22 avr. 2010, 19:32

Bonsoir à tous,
Merci à vous de vos réponses,
j'ai parcouru les différents liens que vous m'avez laissé, plus d'autres recherches personnelles sur GOOGLE, j'ai passé toute l'après midi dessus depuis 13h00 jusqu'à maintenant, j'ai trouvé certaines choses qui peuvent à priori m'aider à résoudre mon exercice, le seul problème je ne sais pas comment procéder, c'est mon premier exercice.

je vous montre ce que j'ai trouvé:

des éléments pour envoyer une requête SQL:

int mysql_query (string texteRequete)
apparemment, elle permet d'envoyer une requête SQL à une base sélectionnée, la valeur renvoyée est un identifiant permettant d'interroger les résultats fournis par la requête.

Pour accéder aux résultats d'une requête SQL:

array mysql_fetch_row (int result)
cela permet de retourner le n-uplet dans un tableau indexé par la posistion des colonnes.

array mysql_fetch_array (int result)
ceci permet de retourner le n-uplet dans un tableau indexé par les noms des colonnes.

j'ai également trouvé ça, quelques instructions PHP:

se connecter à MySQL:
int mysql_connect (string nomMachine, string username, string password)
la valeur renvoyée ici est le numéro de la session.

se déconnecter:
int mysql_close (int noSession)

pour ouvrir une base de données:
int mysql_select_db (string nomBD)
elle définit la base de Données active pour une session.

finalement, pour les balises HTML, je pense que ceci sera efficace pour mon exercice:

pour définir un formulaire envoyant les données à l'action "NOMACTION" selon la méthode "METH":

<form method="METH"action="NOMACTION">
on définit les différents élèments du formulaire
</form>

pour définir un élèment du formulaire de type TYPE ayant le nom NOM et ayant comme valeur prédéfinie VALEUR:
<input type="TYPE" name="NOM" value="VALEUR">

Voilà tout, je perds beaucoup de temps sachant que ce dernier me presse, je suis inefficace dans mes recherches, je n'arrive pas à organiser mon travail de manière à résoudre ce premier exercice.
je suis vraiement déséspéré, j'y arriverai jamais,
J'attends votre aide SVP, je vous en remercie d'avance, j'ai envie de vous dire aussi que je n'aime pas tomber dans la facilité, je suis un battant, la c'est un problème de temps qui passe si vite.
Cordialement,
Yohan

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 avr. 2010, 01:35

Pas mal, tu as trouvé des éléments qui te seront utiles c'est bien.

Tu dis ne pas savoir par où commencer, pourtant nous t'avons donné des étapes, et nous avons tous dit : fais d'abord les requêtes SQL

Tu as trouvé des fonctions PHP brutes, nous t'avons donné des liens qui te présentent comment elles s'utilisent, avec des petites démonstrations qui correspondent aux étapes que tu dois réaliser (ex : les articles de la colonne de droite de PHPdebutant)

Si tu lis plus attentivement ce qu'on te dit de faire ici, tu verras que tu chercheras moins dans le vide, et tu viendras ici poser des questions précises, auquelles nous répondront avec plaisir.


Donc pour le moment oublie PHP et HTML, crée ta base, et crée les deux requêtes dont tu auras besoin, en testant avec phpMyAdmin.

yohan2011
Invité n'ayant pas de compte PHPfrance

23 avr. 2010, 13:27

Bonjour ouckileou et à tout le monde,

sur tes traces ouckileou j'ai crée les tables, ci après les requêtes de création pour que tu me dises si c'est bon ou pas, je dois juste te dire que normalement PhpMyadmin on ne le verra que l'année prochaine en cours, la je suis un peu perdu.

CREATE DATABASE `test` ;

CREATE TABLE `test`.`lignes` (
`noLigne` INT NOT NULL ,
`DescriptionLigne` VARCHAR( 30 ) NOT NULL ,
`arretDepart` VARCHAR( 30 ) NOT NULL ,
PRIMARY KEY ( `noLigne` )
) ENGINE = MYISAM ;

CREATE TABLE `test`.`trajets` (
`noLigne` INT NOT NULL ,
`arret` VARCHAR( 30 ) NOT NULL ,
`arretsuivant` VARCHAR( 30 ) NOT NULL ,
PRIMARY KEY ( `noLigne` , `arret` )
) ENGINE = MYISAM ;

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 avr. 2010, 14:11

ça m'a l'air bien oui, tu peux maintenant créer quelques lignes de bus avec les trajets correspondant
je dois juste te dire que normalement PhpMyadmin on ne le verra que l'année prochaine en cours, la je suis un peu perdu.
Rien ne t'empêche de t'avancer, tu verras que tant que tu ne sais pas faire du SQL facilement, ce sera plus facile de faire des essais sur une vraie base. Et comme ça, tu seras peinard l'année prochaine (enfin, tu t'avanceras sur autre chose :))

yohan2011
Invité n'ayant pas de compte PHPfrance

23 avr. 2010, 18:46

Bonsoir,
j'ai commencé un petit entrainement avant de résoudre mon exercice,

on prend le formulaire suivant:
<html>
<body>
<form name="leformulaire" action="execute.php" method="post">au repos
Nom :<br>
	<input name="nom" type=text length=30><br>
Informations :<br>
	<textarea name="informations" cols=35 rows=6></textarea><br>
Catégorie :<br>
	<input type=radio name="categorie" value="news">
News<br>
	<input type=radio name="categorie" value="infos">
Infos<br>
	<input type=radio name="categorie" value="photos">
Photos<br>
	<input type=submit value="Vazy Envoie !">
</form>
</body>
</html>
j'ai crée un code php pour m'afficher nom:
<?

echo $nom;
?>
au début il affichait nom, maintenant plus rien une page vide, pourquoi? Merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 avr. 2010, 19:37

:arrow: http://phpdebutant.org/article56.php

Les requêtes SQL ça donne quoi ?

yohan2011
Invité n'ayant pas de compte PHPfrance

23 avr. 2010, 23:00

bonsoir,
c'est bon j'ai réussi de résoudre le problème de echo,

les requêtes SQL fonctionnent mais j'ai l'impression qu'elles ne sont pas pertinentes, il faut des query avec des jointures il me semble,

je suis entrain de travailler toujours dessus, c'est pas du tout évident,

dès que je termine mon travail, je te le poste,

en attendant ton aide est toujours la bienvenue, je suis vraiment en souffrance,

Merci tout de même,

bonne soirée!

yohan2011
Invité n'ayant pas de compte PHPfrance

25 avr. 2010, 03:30

Bonsoir,
franchement je n'y arrive pas du tout, et pourtant j'ai essayé plein de trucs,
vous voulez bien m'aider SVP,
Merci

yohan2011
Invité n'ayant pas de compte PHPfrance

25 avr. 2010, 04:47

bonsoir ouckileou,
je peux te montrer ce que j'ai fait déja,
je te jure je suis coincé, je n'arrive plus à avancer,
j'ai vraiement besoin de ton aidee,
par pitié,

ViPHP
ViPHP | 2287 Messages

25 avr. 2010, 04:54

Euh tu sais... ouckileou doit dormir à cette heure (enfin on peut le lui souhaiter), donc ne t'attends pas à une réponse dans la minute :D

Où bloques-tu au juste ?
if(!@work()){ Nespresso(); } else { what(); }
______________________________

yohan2011
Invité n'ayant pas de compte PHPfrance

25 avr. 2010, 18:18

Bonsoir,
SVP, j'ai tout fait à l'écrit pour l'instant,
je suis prêt à tout retaper sur l'ordinateur pour vous le poster,
SVP, j'ai vraiment besoin d'aide,
Merci beaucoup!

ViPHP
ViPHP | 2287 Messages

25 avr. 2010, 18:32

Bonsoir,
SVP, j'ai tout fait à l'écrit pour l'instant,
je suis prêt à tout retaper sur l'ordinateur pour vous le poster,
SVP, j'ai vraiment besoin d'aide,
Merci beaucoup!
#-o Je ne te demande pas de tout retaper (ça c'est seulement en dernier recours), juste de dire où tu bloques, ce qui te manque, quel message d'erreur tu obtiens, quelle doc te semble pas claire... Ce genre de choses, simplement des pistes pour comprendre ton problème et ce qu'on peut faire pour toi. Le sujet de discussion commence à devenir long et je ne sais pas où tu en es.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

yohan2011
Invité n'ayant pas de compte PHPfrance

25 avr. 2010, 18:37

bonsoir Calimero,
Désolé de la longueur du sujet, je vais essayer de clore tout ça très bientôt,
en fait, voici les pistes de ouckileou, c'est exactement comme ça, qu'il faut résoudre le problème: (en vert)

1.1 Trouver la requête qui affiche la liste des lignes
1.2 Trouver la requête qui affiche les arrêts (dans l'odre) d'une ligne précise
Tu peux faire (c'est même recommandé) faire cette étape directement sur le SGBD (MySQL j'imagine), par exemple via PHPmyAdmin. On aura ainsi des requêtes types, qu'on rendra dynamiques par la suite.

2.1 Afficher la liste des lignes (simple texte)
2.2 Afficher la liste des arrêts (pour une ligne donnée, en dur)
intègrer ici le SQL et l'accès à la base de données dans PHP, avec création du HTML de rendu par le PHP

3.1 Afficher la liste de lignes de façon à pouvoir transmettre l'identifiant de chaque ligne : le plus simple étant une liste de liens, avec le numéro de la ligne en paramètre de l'url
3.2 Récupérer le numéro de la ligne choisis dans la liste précédente, et l'intégrer dans la requête SQL, puis afficher le résultat.

On a donc des actions globales comme celles-ci :
- Faire des requêtes SQL simple
- Consulter une base de données via PHP
- Transmettre des données par formulaire ou URL


pour ne pas faire un message très long, je t'envoie la suite, dans un autre message,

yohan2011
Invité n'ayant pas de compte PHPfrance

25 avr. 2010, 18:43

je n'ai pas encore les bases de PHP, donc en lisant plusiers liens, voila ce que j'ai réussi à faire,

la création de la base avec les tables,

une remarque: l'exercice est à faire uniquement à l'écrit avec une description du code HTML utlisé ainsi que les instructions PHP, eventuellement des commentaires pour faciliter la compréhension du code.

Malgré tout, j'ai essayé de le faire avec l'ordi pour mieux comprendre, ça fait plusieurs jours que je suis dessus, je suis inefficace.

Code : Tout sélectionner

CREATE DATABASE `labase` ; CREATE TABLE `Lignes` ( `noLigne` TINYINT NOT NULL , `DescriptionLigne` VARCHAR( 50 ) NOT NULL , `arretDepart` VARCHAR( 50 ) NOT NULL , PRIMARY KEY ( `noLigne` ) ); CREATE TABLE `Trajets` ( `noLigne` TINYINT NOT NULL , `arret` VARCHAR( 50 ) NOT NULL , `arretSuivant` VARCHAR( 50 ) NOT NULL , PRIMARY KEY ( `noLigne` , `arret` ) ); INSERT INTO `lignes` ( `noLigne` , `DescriptionLigne` , `arretDepart` ) VALUES ( '1', 'Les Boulevards', 'Grand Rond' ) INSERT INTO `lignes` ( `noLigne` , `DescriptionLigne` , `arretDepart` ) VALUES ( '12', 'Centre Ville-Aeoroport', 'Capitole' ); INSERT INTO `trajets` ( `noLigne` , `arret` , `arretSuivant` ) VALUES ( '1', 'Grand Rond', 'Jean-Jaures' ); INSERT INTO `trajets` ( `noLigne` , `arret` , `arretSuivant` ) VALUES ( '1', 'Jean-Jaures', 'Compans' ); INSERT INTO `trajets` ( `noLigne` , `arret` , `arretSuivant` ) VALUES ( '1', 'Compans', 'St-Cyprien' ); INSERT INTO `trajets` ( `noLigne` , `arret` , `arretSuivant` ) VALUES ( '12', 'Capitole', 'Gare' ); INSERT INTO `trajets` ( `noLigne` , `arret` , `arretSuivant` ) VALUES ( '12', 'Gare', 'Aeoroport' );
après je t'envoi le code PHP, que j'ai réalisé,

yohan2011
Invité n'ayant pas de compte PHPfrance

25 avr. 2010, 18:46

<?

$hote="localhost";
$utlisateur="root";
$modpasse="1234";

$Connection=mysql_connect($hote,$utlisateur,$modpasse);

//echo connection;

$nomdelabase="labase";

mysql_select_db($nomdelabase, $connection);

$requete="SELECT*from lignes";

$resultat=mysql_query($requete,$connection);

//echo $resultat;

$test=mysql_fetch_array($resultat);

//print_r($test);

echo nl2br($test[Descriptionligne));