2011-04-14 5 views
0

Je veux extraire des données d'une table de base de données et les utiliser dans différentes sections d'une page, actuellement je fais plusieurs requêtes pour récupérer des données de table, par exemple je cherche le chemin vidéo et la description de la table des vidéos. J'ai deux fonctions,Récupérer des données de la même table plusieurs fois?

function get_photo_path($id){ 
SELECT path from videos where id = $id; 
return path; 
} 

function get_video_description($id){ 
SELECT desc from videos where id = $id; 
return desc; 
} 

Je me demande si je peux faire une seule fonction pour aller chercher chemin et la description ensemble et utiliser si dans différentes sections, par exemple

<div><? //get path ?></div> 
<div>some other data</div> 
<div><? //get description ?></div> 

Répondre

1

Couldn » t vous avez ce en haut de la page:

<? 
    // this isn't real mysql, so adjust to fit how you connect 
    $sql = "SELECT path, desc FROM videos WHERE id = $id"; 
    $row = mysql_fetch_assoc(mysql_query($sql)); 
?> 

Ensuite, lorsque vous voulez imprimer les variables:

<div><?= $row['path']; ?></div> 
<div>some other data</div> 
<div><?= $row['desc']; ?></div> 
+0

Sauf mysql_query retourne une poignée de résultat, pas un tableau de résultats. Vous devez toujours aller chercher les lignes. –

+0

Ouais c'est pour ça que j'ai dit que ce n'était pas du vrai mysql. J'utilise exclusivement le PHP PDO, donc je suis vraiment rouillé sur mysql et mysqli – rockerest

2

Ne le rendez pas plus compliqué que nécessaire. :)

$video = /* SELECT * FROM `videos` WHERE `id` = $id */; 

<div><?php echo $video['path']; ?></div> 
<div>some other data</div> 
<div><?php echo $video['description']; ?></div> 
3
function get_data($id) { 
    $sql = "select path, desc from videos where id = $id;"; 
    $res = mysql_query($sql) or die(mysql_error()); 

    $data = mysql_fetch_assoc($res); 

    return $data: 
} 

$data = get_data($id); 

?> 

<div><?php echo $data['path'] ?></div> 
<div><?php echo $data['desc'] ?></div> 
+0

le ';' dans le SQL provoquera-t-il une erreur? N'ajoute-t-il pas automatiquement un? Ou est-ce que je pense à l'AOP? edit: [La chaîne de requête ne doit pas se terminer par un point-virgule] (http://php.net/manual/fr/function.mysql-query.php) – rockerest

+0

Je l'ai mis par habitude. Cela ne serait strictement nécessaire que si vous faisiez plusieurs requêtes en un seul appel, ce que le pilote mysql ne permet pas de toute façon. –

Questions connexes