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

Langage PHP Discussion :

Problème fonction dans requête SQL [PHP 4]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Par défaut Problème fonction dans requête SQL
    bjr
    j'ai un fonction qui extraire l'image d'un video youtube
    cette fanction intagrer dans un requete sql de mysql
    quand la requete prend une seul lien dans BDD ca marche bien
    mi quand la requete trouve plus d'un reponce c'est a dire d'un lien
    dans BDD ce bloque la fonction et me donne la resultat de premier
    lien avec errour que la fonction ne peut suporter la resultat de requete
    sql quand il depasse 1 resultat
    merci de me faire savoir comment integrer une fonction
    dans un requete sql
    NB : cette fonction doit faire la meme travail quand elle trouve une reponce
    de sql c'est a dire si ila trouve 50 reponce la fonction doit faire 50 operation
    merci bq
    tien l'errour

    Fatal error: Cannot redeclare getvideoinfo() (previously declared in /youtube-dalymotion-image/affa.php:13) in affa.php on line 13

  2. #2
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Cette fonction se trouve dans un fichier ? Inclus-tu deux fois ce fichier ? Auquel cas c'est un comportement normal de tomber sur une telle erreur.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 60
    Par défaut
    je pense que tu surcharge ta déclaration de fonction , la surcharge est possible pour les constructeurs mais pas pour les fonctions sous php
    et puis si tu inclus ta fonction je te conseil ( inculde_once ) ...

  4. #4
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Par défaut bjr
    cette fonction écrit en php 4
    tien la fonction avec une petite requête sql
    cette fonction ça marche avec une seul enregistrement
    mais avec plus d'une ça marche pas
    merci de votre attention

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    <?php 
    include '../config/config.php';
     
    $req = mysql_query("SELECT link FROM tube");
     
    if (mysql_num_rows($req) > 1){ 
     
    	while($data = mysql_fetch_assoc($req)) 
        {
    	/*echo $data['link'];
    	echo '<br>';*/
     
    	function getVideoInfo($url){
        $type = "";
        $id = -1;
        $titre = "no title";
        $description = "no description";
        $code = "no code";
        $img = "no image";
        //D?rmination du "type" de vid?: 
     
        if(eregi("youtube",$url))            $type="youtube";
        else if(eregi("dailymotion",$url))    $type="dailymotion";
        else if(eregi("google",$url))        $type="google";
        else if(eregi("vimeo",$url))        $type="vimeo";
        else return false;
     
        //D?rmination de l'"ID" de la vid?:
        if($type=="youtube"){
            $debut_id = explode("v=",$url,2);
            $id_et_fin_url = explode("&",$debut_id[1],2);
            $id = $id_et_fin_url[0];
        }
        else if($type=="dailymotion"){
            $debut_id = explode("/video/",$url,2);
            $id_et_fin_url = explode("_",$debut_id[1],2);
            $id = $id_et_fin_url[0];
        }
        else if($type=="google"){
            $debut_id =  explode("docid=",$url,2);
            $id_et_fin_url = explode("&",$debut_id[1],2);
            $id = $id_et_fin_url[0];
        }
        else if($type=="vimeo"){
            $l_id= eregi("([0-9]+)$",$url,$lid);
            $id = $lid[0];
        }
     
        //Analyse et stockage des informations de la vid?
        if($type=="youtube"){
            $xml = @file_get_contents("http://gdata.youtube.com/feeds/api/videos/".
    $id);
            //titre
            preg_match('#<title(.*?)>(.*)<\/title>#is',$xml,$resultTitre);
            $titre = $resultTitre[count($resultTitre)-1];
            //description
            preg_match('#<content(.*?)>(.*)<\/content>#is',$xml,$resultDescription);
            $description = $resultDescription[count($result)-1];
            //Image
            $img = "http://img.youtube.com/vi/".$id."/1.jpg";
            //Code HTML
            $code = 
    '<object width="425" height="355"><param name="movie"' .
    ' value="http://www.youtube.com/v/'.$id.
    '&hl=fr"></param><param name="wmode" value="transparent"></param><embed' .
    ' src="http://www.youtube.com/v/'.$id.
    '&hl=fr" type="application/x-shockwave-flash" wmode="transparent" width="425"' .
    ' height="355"></embed></object>';
        }
        else if ($type=="dailymotion"){
            $tags = get_meta_tags("http://www.dailymotion.com/video/".$id);
            //titre
            $titre = htmlspecialchars(trim(str_replace("Dailymotion -","",$tags[
    "title"])));
            //description
            $description = $tags["description"];
            //image 
            $img = "http://www.dailymotion.com/thumbnail/160x120/video/".$id;
            // code HTML
            $code = 
    '<div><object width="420" height="357"><param name="movie"' .
    ' value="http://www.dailymotion.com/swf/'.$id.
    '&v3=1&related=1"></param><param name="allowFullScreen"' .
    ' value="true"></param><param name="allowScriptAccess" value="always"></param>' .
    '<embed src="http://www.dailymotion.com/swf/'.$id.
    '&v3=1&related=1" type="application/x-shockwave-flash" width="420"' .
    ' height="357" allowFullScreen="true" allowScriptAccess="always"></embed></obj' .
    'ect></div>';
        }
        else if ($type=="google"){
            $xml_string = @file_get_contents(
    "http://video.google.com/videofeed?docid=".$id);
            //titre
            $xml_title_debut = explode("<title>",$xml_string,2);
            $xml_title_fin = explode("</title>",$xml_title_debut[1],2);
            $titre = $xml_title_fin[0];
            //description
            $xml_description_debut = explode("<description>",$xml_string,2);
            $xml_description_fin = explode("</description>",$xml_description_debut[1
    ],2);
            $description = $xml_description_fin[0];
            //image
            $xml_image_debut = explode('&lt;img src="',$xml_string,2);
            $xml_image_fin = explode('" width="',$xml_image_debut[1],2);
            $img = $xml_image_fin[0];
            //code HTML 
            $code = 
    '<embed style="width:400px; height:326px;" id="VideoPlayback"' .
    ' type="application/x-shockwave-flash" src="http://video.google.com/googleplay' .
    'er.swf?docId='.$id.'&hl=fr" flashvars=""> </embed>';
        }
        else if ($type=="vimeo"){
            $xml_string = @file_get_contents("http://vimeo.com/api/clip/".$id.".xml"
    );
            //titre
            $xml_title_debut = explode("<title>",$xml_string,2);
            $xml_title_fin = explode("</title>",$xml_title_debut[1],2);
            $titre = $xml_title_fin[0];
            //description
            $xml_description_debut = explode("<caption>",$xml_string,2);
            $xml_description_fin = explode("</caption>",$xml_description_debut[1],2)
    ;
            $description = $xml_description_fin[0];
            //image
            $xml_image_debut = explode("<thumbnail_large>",$xml_string,2);
            $xml_image_fin = explode("</thumbnail_large>",$xml_image_debut[1],2);
            $img = $xml_image_fin[0];
            //code HTML
            $xml_code = @file_get_contents(
    "http://vimeo.com/api/oembed.xml?url=http%3A//vimeo.com/".$id);
            $xml_code_debut = explode("<html>",$xml_code,2);
            $xml_code_fin = explode("</html>",$xml_code_debut[1],2);
            $code = str_replace("<![CDATA[","",str_replace("]]>","",$xml_code_fin[0]
    ));
        }
     
        return array("id"=>$id,"type"=>$type,"titre"=>$titre,"description"=>
    $description,"img"=>$img,"code"=>$code);
    }
     
    $urlVideo = $data['link']; 
    $infosVideo = getVideoInfo($urlVideo); 
    echo 'Image de la vid?: <a href=page.php?id='.$infosVideo["id"].'><img alt="Image de la video" src="'.$infosVideo["img"].'" border=0/> </a><br />';
     
     
      }
         }else{
    		echo 'Error les ligne plus d\'un 1';
    	 }
       /*for ($j = 0; $j<mysql_num_rows($req); $j++) { 
    }
     
           for ($k = 0; $k<mysql_num_fields($req); $k++) { 
             
               echo "<td align=center>".mysql_result($req,$j,$k)."</td>";
           }
    */
     ?>

  5. #5
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonjour,

    C'est normal la déclaration de ta fonction est dans la boucle while. Donc si ta requête renvoie plus d'un résultat, ta fonction est déclarée autant de fois que tu as de résultats...

    Sors cette déclaration de la boucle
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  6. #6
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Par défaut bonjour
    oui ca marche mnt et merci bq mes amis
    l'errour c'est la fonction dans la boucle while

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Variable dans requête SQL
    Par maxime350 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 10/04/2008, 20h55
  2. Fonction Nz dans requête SQL
    Par Mymi dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 09/01/2007, 16h59
  3. [SQL] Problème résultat checkbox dans requête SQL
    Par Skeud007 dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 02/07/2006, 15h02
  4. [SQL] Problème de " dans requête SQL
    Par cciocc dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/05/2006, 10h22
  5. [VB6]Fonction dans requête SQL Access
    Par jean-pierre96 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/04/2006, 19h44

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