Je veux une requête mysql qui correspond à un titre de page. Pas sûr d'une meilleure façon d'accomplir cette tâche, mais je suis coincé.
Ceci est mon code de test de base.
<?php
$page_title = wp_title('');
echo $page_title;
$test = $wpdb->get_results("SELECT * FROM $wpdb->park_data WHERE park_name = '"$page_title"' ") or die(mysql_error());
$row = mysql_fetch_array($test);
echo $row['park_name'];
?>
Je continue à recevoir une erreur sur la requête. Si je répète simplement wp_title ('') ;, pas de problème, affiche.
Quelqu'un peut-il voir ce que je fais mal?
Je pense que si vous ajoutez quelques points avant et après la variable php dans votre requête, supprimez l'utilisation de mysql_fetch_array et utilisez get_row (), cela devrait mieux fonctionner. Voici comment obtenir un parc de votre table personnalisée:
<?php
$page_title = wp_title('');
$park = $wpdb->get_row("SELECT * FROM $wpdb->park_data WHERE park_name='".$page_title."'");
if($park)
{
print_r($park); // because other than it being an object, I'm not exactly sure what's returned.
}
?>
De plus, n'oubliez pas que la requête mysql suppose que wp_title () retourne le titre de la page au format identique à celui du nom de parc stocké dans la base de données. Vous devrez peut-être formater wp_title () pour le faire correspondre à vos données de table.
Il semblerait que vous souhaitiez simplement qu'un parc soit renvoyé. J'ai donc utilisé get_row () à la place: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row