JuTs

  • Signature
    JuTs
  • Site web
  • Nombre de sujets
    26
  • Nombre de messages
    150
  • Nombre de commentaires
    1
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

JuTs
le 13/08/2006 à 14:05
Optimiser un code répétitif
Si tu laisses les boucles de côté, tu ne vas pas aller loin en programmation.
la doc de for : http://www.lephpfacile.com/manual_php/control-structures.for.php

En attendant tu peux déjà supprimer quelques include("connect_base.inc.php"). Une fois qu'un fichier est inclus, inutile de le refaire plusieurs fois dans le même fichier.

Supprimer quelques mysql_close(). Si tu sais que tu va encore servir ta connection, inutile de la fermer
JuTs
JuTs
le 12/08/2006 à 11:57
mysql passage de la version 4.x à la 5.0
C'est bon je crois, je suis parvenu à quelque chose qui fonctionne


SELECT CONCAT( debut, ' - ', fin, ', ', SUBSTRING( p1.date, 9, 2 ) , '/', SUBSTRING( p1.date, 6, 2 ) , '/', SUBSTRING( p1.date, 1, 4 ) , ' ', SUBSTRING( p1.date, 12, 2 ) , ':', SUBSTRING( p1.date, 15, 2 ) , ', ', clubHome.club, ' - ', clubAway.club ) , p1.id_programme
FROM programme AS p1
LEFT OUTER JOIN programme AS p2 ON p2.id_programme = p1.id_programme
LEFT OUTER JOIN clubs AS clubHome ON clubHome.id_clubs = p1.id_clubs
LEFT OUTER JOIN clubs AS clubAway ON clubAway.id_clubs = p2.id_clubs
LEFT OUTER JOIN saisons AS s ON s.id_saisons = p1.id_saisons
WHERE p1.home =1
AND p2.home =0
AND p1.buts = -1
AND p2.buts = -1
ORDER BY p1.date



Mais je ne comprends pas vraiment ce qui a pu changer de mysql 4 à mysql 5 pour que mon ancienne requête ne fonctionne plus.
D'ailleurs la requête suivante fonctionne parfaitement :

SELECT p1.id_programme AS id_prog1, p2.id_programme AS id_prog2, p1.id_clubs AS id_clubs1, p2.id_clubs AS id_clubs2
FROM programme AS p1, programme AS p2
WHERE p1.id_programme = p2.id_programme

tant p1 que p2 sont accessible dans le where, dans le select, ... alors pour quoi pas dans le ON de la jointure ?




Pourquoi faire une jointure en utilisant une donnée extérieure aux tables à joindre ?


Comment ça une donnée extérieur ? Je joins la table clubs (en lui donnant l'alias clubHome) à la table programme (alias p1) en utilisant un champ id_clubs qui se trouve dans les deux table.
JuTs
JuTs
le 10/08/2006 à 22:08
mysql passage de la version 4.x à la 5.0
Ce n'est pas possible, dans la table clubs je n'ai que id_clubs comme clé.

et comme je l'indique un peu plus haut, cette requête-ci (requête de test) fonctionne correctement

SELECT * FROM programme AS p2, programme AS p1
LEFT OUTER JOIN clubs AS clubHome ON clubHome.id_clubs = p1.id_clubs


dans mon FROM, seul le dernier alias est pris en compte, si je mets p2.id_clubs à la place de p1.id_clubs ça ne fonctionne plus.
JuTs
JuTs
le 08/08/2006 à 23:32
mysql passage de la version 4.x à la 5.0
voilà

+-----------------+----------------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+----------------------+------+-----+---------------------+-------+
| id_programme | smallint(5) unsigned | NO | PRI | 0 | |
| id_saisons | smallint(2) unsigned | NO | PRI | 0 | |
| id_equipes | tinyint(1) unsigned | NO | PRI | 0 | |
| id_types_groupe | tinyint(1) unsigned | NO | PRI | 0 | |
| id_groupes | smallint(4) unsigned | NO | PRI | 0 | |
| id_clubs | int(10) unsigned | NO | PRI | 0 | |
| date | datetime | NO | | 0000-00-00 00:00:00 | |
| lieu | varchar(30) | NO | | | |
| home | tinyint(1) unsigned | NO | | 0 | |
| buts | tinyint(2) | NO | | -1 | |
+-----------------+----------------------+------+-----+---------------------+-------+
JuTs
JuTs
le 17/07/2006 à 18:44
Perte des variables de sessions
au moment du

<?
foreach($data as $key=>$val) {
$_SESSION[$key] = $val;
}
?>


tu es sûr que ton $data['id'] existe ?
JuTs
JuTs
le 16/07/2006 à 16:42
Perte des variables de sessions
Hum... mon post à foiré... voici le début :


Ce n'est pas ce que tu fait dans ton code :

<?php
if(isset($_SESSION['id'])) {
session_destroy();
echo('tricheur ! Code: 001');
exit;
}
?>


Là tu vérifie si $_SESSION['id'] existe et si elle existe, tu détruis la session. Ca ne serait pas plutôt if(!isset($_SESSION['id']))
JuTs
JuTs
le 16/07/2006 à 16:42
Perte des variables de sessions
deux remarques :

- isset vérifie qu'un variable est définie mais cela ne signifie pas obligatoirement qu'elle n'est pas vide

- ton code n'est pas terrible niveau sécurité. vérifie tes variable avant d'effectuer tes requêtes sql. Là tu as un gros risque d'injection sql.
JuTs
LoadingChargement en cours