IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[PHP] - Aide sur codes PHP pour Club de Plongée ;)


Sujet :

PHP & Base de données

  1. #21
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2012
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Super ça marche .. j'ai bien le lolo après

    si je peux encore demander une aide

    Je veux juste récupérer le nom de la base mais erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $user = $_SERVER['REMOTE_USER'];
    //print "$user";
    $query="select * from membres where login = '$user[$numero]'";
    $result=mysql_query($query) ;
    $nombre=mysql_numrows($result);
    $i=0 
    if ($nombre==0)
       {
        $usernom[$i]=mysql_result($result,$i;"nom");
        }

  2. #22
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2012
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Erreur :

    Parse error: syntax error, unexpected T_IF in /mnt/108/sda/7/8/dw.plongee/res_plong/index.php on line 168

  3. #23
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Déjà pour commencer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query="select * from membres where login = '".$user[$numero]."'";
    pas les variable directement dans les strings

    Puis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query="select * from membres where login = '".$user."'";
    $user est un string et non un tableau
    de plus $numero, a moins que tu l'instancie avant ce bout de code, ne contient rien, donc meme si $user était un tableau ca ne fonctionnerait pas.

    Enfin:
    Je mettrais plutôt 1 car la tu ne récupère le nom que s'il n'y a pas de résultat.


    Je le ferais comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //recup login user
    $user = $_SERVER['REMOTE_USER'];
    //lancement query de recup du nom
    $query = "select nom from membres where login = '".$user."'"; //j'ai mis le champ qui m'interresse parce que les select * c'est le mal
    $result = mysql_query($query) ;
    //si on a au moins une ligne
    if(mysql_num_rows($result) > 0) {
    	//on récupère le nom sorti à la première ligne
    	$usernom = mysql_result($result,0;"nom");
    }
    mysql_num_rows et non mysql_numrows
    inutile de stocker dans un tableau puisqu'il n'y a qu'un user connecté
    inutile d'instancier un variable pour y mettre une valeur qu'on utilisera qu'une fois ($i inutile si pas d'itérations).


    edit:
    Parse error: syntax error, unexpected T_IF in /mnt/108/sda/7/8/dw.plongee/res_plong/index.php on line 168
    Dans 99% des cas les syntax error, unexpected qquechose proviennent d'un oubli juste avant la zone de l'erreur. En l'occurrence le point virgule après $i = 0

  4. #24
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2012
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    ENORME ENORME ENORME ENORME ENORME MERCIIIIi


    ça marche et j'ai tout compris !!!!

    Trop sympa pour l'aide ...

  5. #25
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2012
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    si je peux encore demander

    Je voudrais tester une date dans la base en fonction de la date du jour

    comment je peux récupérer la date du jour

    et ensuite faire mon test ?
    sachant que la date est récupérer de la requête

    là je veux juste afficher la date mais en erreur :

    print '<tr><td align="center"><h1>Nous sommes le '.@date ("d m Y", filemtime ("$action"))'<h1></td></tr>';

  6. #26
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    http://fr2.php.net/manual/fr/function.date.php

    date(Ymd) renverra 20120707 (enfin jusqu'à ce soir minuit )

  7. #27
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2012
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    merci j'ai trouvé entre deux

    mais nouvelle question

    je récupère la date du jour sous 2012-07-07

    j'ai une date en base par exemple 2012-01-01

    si cette date en base + 1 an est inférieure à la date du jour, je dois afficher une alerte

    comment je peux ajouter un an à ma date ??

    ou comment faire le if ?

    merci encore

  8. #28
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2012
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Pour le détail, j'ai :

    $jourdhui=date("Y-m-d");

    print '<tr><td align="center"><h1>Sorties programmées - Nous sommes le '.$jourdhui.'<h1></td></tr>';

    ça marche super !

    Ensuite je récupère donc une date de ma base sous aaaa-mm-jj

    c'est à cette date que je dois ajouter une année ...

  9. #29
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    La classe DateTime répondra à ton besoin
    http://fr2.php.net/manual/fr/class.datetime.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $date = new DateTime('2000-01-01');
    $date->add(new DateInterval('P1Y'));
    $datePlusUnAn = $date->format('Y-m-d');

  10. #30
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2012
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    J'ai cette erreur :
    Fatal error: Cannot instantiate non-existent class: datetime in /mnt/108/sda/7/8/dw.plongee/res_plong/index.php on line 180

    mais je ne comprends pas trop le code ...

    merci

  11. #31
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Le code est plutôt simple:
    -j'instancie un objet DateTime à la date qui t'intéresse http://www.php.net/manual/fr/class.datetime.php
    -j'appele la méthode de DateTime qui permet d'ajouter du temps http://www.php.net/manual/fr/datetime.add.php
    -j'appele la methode qui permet de retourner la date au format voulu http://www.php.net/manual/fr/datetime.format.php

    Quelle version de php est installée sur ton serveur ?
    Si inférieure à 5.2 alors c'est normal que ça ne marche pas.

    Dans ce cas il faudrait le faire à l'ancienne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php
    //On convertit ta date en texte en un timestamp unix
    $taDate = '2010-01-01';
    $arrTaDate = explode('-',$taDate);
    $unixTaDate = mktime(0,0,0,$arrTaDate[1],$arrTaDate[2],$arrTaDate[0]);
     
    //on y ajoute un an, si tu veux faire propre gère les bisextiles
    //grosso modo il faudrait vérifier qu'on est pas 
    //après le 28 fevrier d'une année précédent une bisextile 
    //ou avant le 29 fevrier d'une bisextile et dans ces cas ajouter un jour de plus)
    $unixTaDatePlusUnAn = $unixTaDate+(365*24*60*60);
     
    //plus qu'à reformater la date
    $taDatePlusUnAn = date('Y-m-d',$unixTaDatePlusUnAn);

Discussions similaires

  1. Aide sur Menu PHP
    Par silverfab34 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 19/02/2009, 17h44
  2. [Images] Image générée et code php standard sur la même page
    Par hudony dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 21/12/2007, 10h46
  3. insérer du code php externe sur un site en javascript
    Par pas30 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/08/2007, 14h12
  4. [SQL] Aide sur requête PHP - SQL
    Par jrnb58 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/09/2006, 12h56
  5. Aide sur requete PHP vers MySQL
    Par pounie dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/02/2006, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo