exercice PHP

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 : exercice PHP

Re: exercice PHP

par ouckileou » 28 avr. 2010, 16:19

Désolé , et je vous remercie pour tout,
Je vais arreter de vous saouler avec mon sujet,
Tu ne nous saoules pas, le but de ce forum est précisément d'aider les gens, mais il faut juste que tu fasses un effort pour être attentif à ce qu'on te suggère de faire, afin de nous soumettre des requêtes précises, plutôt que de poster des bouts de code au hasard en attendant qu'on débuggue de A à Z.

Si tu suis les étapes données, que tu nous donnes tes essais correspondant à ces étapes et que tu nous dit ce qui ne fonctionne pas, on te filera un coup de main avec plaisir, vraiment.

Re: exercice PHP

par yohan2011 » 28 avr. 2010, 16:03

Désolé , et je vous remercie pour tout,
Je vais arreter de vous saouler avec mon sujet,

Re: exercice PHP

par ouckileou » 28 avr. 2010, 10:51

Bah... j'avais corrigé ta requête, je vois pas ces modifs dans le code. Et ton code, tu le balances sans explication, sans question, genre on va le lancer et le débugguer pour toi. Tu crois qu'on a que ça à faire ? Tu n'as pas compris que tu devais essayer toi-même, et venir ici pour poser des questions, ou dire "j'ai cette erreur, d'où peut-elle venir ?".

On ne peut pas passer tout notre temps sur ton sujet, je suis un peu découragé, tu ne lis pas assez attentivement ce que l'on te suggère de faire.

Enfin déjà à ta place je ferai pas de fonction, reste au plus simple. Et puis quand tu l'utilises cette fonction, ça dit quoi ? ça marche parfaitement, ça t'affiche un message d'erreur ?

Nous ne sommes pas des correcteurs de code, nous sommes là pour aider et orienter.

Re: exercice PHP

par yohan2011 » 27 avr. 2010, 18:48

voici mon code:
<?php
/* chargement du tableau contenat :
       - le trajet complet d'une ligne,
*/

function resultatstrajets()
   {
   
    global $arretDepart;
	global $arretSuivant;
	
    [sql]$requete = "Code sql
				SELECT arretDepart, arretSuivant
				FROM Lignes l, Trajets t
				WHERE l.noLigne LIKE "1";";[/sql]
	$curseur = mysql_query($requete);
	for($i = 1; $i <= mysql_num_rows($curseur); $i++)
	   {
	    $nuplettrajet = mysql_fetch_array($curseur);
        $lignes[$nupletlignes["arretDepart"]] = $lignes["arretSuivant"];				
	   }
   }

Re: exercice PHP

par yohan2011 » 27 avr. 2010, 18:41

Merci,
Je suis entrain de travailler sur le code PHP,
je te l'envoie dans deux minutes,
je t'envoie d'abord ce que j'ai fait avant:
<?

$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));

Re: exercice PHP

par ouckileou » 27 avr. 2010, 18:31

Ok ça marche mais du coup avec les résultats tu es bien capable de juger ce qui est bien ou pas non ?
Pour lister les lignes, à ton avis on regarde dans quelle table, quelle est la requête la meilleure ?
En réponse à ta question ouckileou, je pense que regarder la table "Trajets" c'est mieux, d'une part c'est elle qui correspond le mieux à l'esprit de l'exo, d'autre part elle est plus complète vu qu'on a arret départ et suivant, pour l'utlisateur c'est plus facile de s'y retrouver.
Non.

Pour lister les lignes (et uniquement ça), on regarde dans la table Lignes. Parceque c'est logique, parcequ'on ne s'occupe ici que des lignes donc on regarde la table Lignes. La table "trajets" n'est pas plus complète, elle contient les trajets. Donc quand tu n'as pas besoin des trajets, tu ne regardes pas dans la table Trajets.

Tu as besoin d'une liste de lignes, pour créer des liens, pour pouvoir récupérer un numéro de ligne et le trajet qui correspond. Donc pour créer la liste des lignes, requête sur la table "Lignes".

C'est quand tu voudras afficher le trajet correspondant à une ligne que là, tu regarderas dans la table Trajets. Ce qui est logique aussi, finalement.

Re: exercice PHP

par yohan2011 » 27 avr. 2010, 18:09

Ok ça marche mais du coup avec les résultats tu es bien capable de juger ce qui est bien ou pas non ?
Pour lister les lignes, à ton avis on regarde dans quelle table, quelle est la requête la meilleure ?
En réponse à ta question ouckileou, je pense que regarder la table "Trajets" c'est mieux, d'une part c'est elle qui correspond le mieux à l'esprit de l'exo, d'autre part elle est plus complète vu qu'on a arret départ et suivant, pour l'utlisateur c'est plus facile de s'y retrouver.

Re: exercice PHP

par ouckileou » 27 avr. 2010, 18:04

1.1 Trouver la requête qui t'affiche la liste des lignes

deux possibilités de réponse:

SELECT noLigne FROM Lignes;
ou
SELECT noLigne FROM Trajets;
(cette solution répète les noLigne autant de fois qu'elle est inscrite dans la table trajets)

1.2 Trouver la requête qui t'affiche les arrêts (dans l'odre) d'une ligne précise
SELECT arret, arretSuivant
FROM Trajets
WHERE noLigne like "1";
Oui elle fonctionne, je dirais que cette requete n'est pas très académique mais elle fonctionne;
Ok ça marche mais du coup avec les résultats tu es bien capable de juger ce qui est bien ou pas non ?
Pour lister les lignes, à ton avis on regarde dans quelle table, quelle est la requête la meilleure ?

Re: exercice PHP

par ouckileou » 27 avr. 2010, 18:02

Oui, tu as cette colonne dans les deux tables, il faut donc que tu précises lequel tu veux utiliser :
SELECT arretDepart, arretSuivant
FROM Lignes l, Trajets t
WHERE l.noLigne like "1";
Ici j'ai ajouté des alias derrière les noms de tables pour ne pas retaper "lignes" et "trajets" (pour raccourcir)

lignes(noLigne, DescriptionLigne, arretDepart)
trajets(noLigne*, arret, arretsuivant)

Mais il te manque la jointure entre les deux tables, ce qui va relier les lignes.
SELECT l.DescriptionLigne, l.arretDepart, t.arret, t.arretSuivant
FROM Lignes l
INNER JOIN Trajets t ON l.noLigne= t.noLigne
WHERE l.noLigne = "1";
La jointure relie les deux tables grâce à la colonne "numeroLigne".
J'ai remplacé ton"LIKE" par un =, car like est utilisé pour rechercher des bouts de chaîne de caractère, là tu as une égalité parfaite entre ton entier et le numéro de ligne.

Essaie cette requête et regarde les résultats que ça te donne.

Re: exercice PHP

par yohan2011 » 27 avr. 2010, 18:02

1.1 Trouver la requête qui t'affiche la liste des lignes

deux possibilités de réponse:

SELECT noLigne FROM Lignes;
ou
SELECT noLigne FROM Trajets;
(cette solution répète les noLigne autant de fois qu'elle est inscrite dans la table trajets)

1.2 Trouver la requête qui t'affiche les arrêts (dans l'odre) d'une ligne précise
SELECT arret, arretSuivant
FROM Trajets
WHERE noLigne like "1";
Oui elle fonctionne, je dirais que cette requete n'est pas très académique mais elle fonctionne;

Re: exercice PHP

par yohan2011 » 27 avr. 2010, 17:51

j'ai un autre idée, la partie en bleu fonctionne, la partie rouge non, il me dit que le champ noLigne concerne plisieurs tables

SELECT arretDepart, arretSuivant
FROM Lignes, Trajets

WHERE noLigne like "1";

Re: exercice PHP

par ouckileou » 27 avr. 2010, 17:45

un autre requete qui permet d'afficher les arrets d'une ligne donnée qui sera choisie par l'utlisateur;

SELECT arret, arretSuivant
FROM Trajets
WHERE noLigne like "1";


"1"=ligne 1 mais le plus judicieux je crois "choix utlisateur"
Il te manque une jointure vers la table ligne pour savoir quel est le premier arrêt.

C'est bien d'avoir un modèle de requête avec un numéro d'exemple, le "choix utilisateur" sera inséré via PHP.

Fais les deux requêtes, tu passeras au PHP ensuite.

Re: exercice PHP

par ouckileou » 27 avr. 2010, 17:44

Je ne suis pas du tout en colère :)
Mais c'est pour toi qu'on dit ça : si on fait l'exercice à ta place, ça ne te servira à rien, tu n'apprendras rien.

Et comme a dit Calimero, tu ne fais pas assez attention aux réponses que tu obtiens, à ce qu'on te demande de faire, tu pars un peu dans tous les sens.

Ta requête doit marcher, mais est-ce que tu l'as testée sur ta base ? Est-ce qu'elle te renvoie quelque chose qui ressemble à ce qui est demandé dans ton énoncé ?
1.2 Trouver la requête qui t'affiche les arrêts (dans l'odre) d'une ligne précise
Est-ce que tu as fait la requête pour ça :
1.1 Trouver la requête qui t'affiche la liste des lignes
C'est la plus simple.

Re: exercice PHP

par yohan2011 » 27 avr. 2010, 17:42

un autre requete qui permet d'afficher les arrets d'une ligne donnée qui sera choisie par l'utlisateur;

SELECT arret, arretSuivant
FROM Trajets
WHERE noLigne like "1";


"1"=ligne 1 mais le plus judicieux je crois "choix utlisateur"

Re: exercice PHP

par yohan2011 » 27 avr. 2010, 17:38

rebonjour,

Je vois que j'ai mis ouckileou un peu en colère,

STP, ne m'en veux pas, et je voulais juste te dire, que ça m'est arrivé de participer dans des forums de maths ou physique des sujets que je maitrisais mieux, et ça m'est arrivé à 4 reprises de résoudre les exercices de certains membres, moi ça me derrange pas du tout de partager mon savoir,
Moi je suis débutant en PHP, je n'ai aucun savoir, et j'essaie malgré tout de faire des effors,
enfin bref, désolé encoire,

Voici la fameuse requete en question, dites moi ce que vous en pensez;

SELECT arret, arretSuivant
FROM Trajets;


Merci!