par
don_roger » 30 nov. 2015, 17:13
Bonjour à tous,
Je sollicite vos yeux perspicaces de lynx... je n'y comprends goutte...
Le principe de mon script est de générer une liste issue d'une table dans une base mysql dans un bête tableau html et de créer des liens dynamiquement, en fonction de la valeur d'un champ.
Je me sers d'un switch pour changer la valeur de ma variable , et j'ai besoin de comparer la valeur dudit champ avec les différents cas possibles de mon switch. J'espère que je suis clair...
Mais le problème est que quelle que soit la valeur du champ, c'est toujours l'action par défaut qui est exécutée. Comme si la comparaison entre les 2 chaînes de caractère ne fonctionnait pas.
Voici mes 2 questions :
- ma méthode est-elle la bonne ?
- pourquoi que ça marche t-y donc pas ?
Voici mon code (oui, c'est un truc pour gérer mes partitions) :
Code : Tout sélectionner
<?php
require_once("cnn.php");
$req=("Select * FROM partoches");
$rs = mysqli_query($cnn,$req);
$nb_lignes = mysqli_num_rows($rs);
echo "Actuellement dans la base, il y a ".$nb_lignes." titres.";
// Construction du tableau
echo "<table>";
echo "<tr align=\"center\">";
echo "<td>Titre</td><td>Auteur</td><td>Song Book</td>";
echo "</tr>";
while ($rs_ligne = mysqli_fetch_assoc($rs)) {
switch ($rs_ligne["livre"]) {
case "Rea1Bk2":
$songbook = "Real_Book_2.pdf";
$delta_book = 1;
break;
case "JazzFake":
$songbook = "Jazz_Fake_Book.pdf";
$delta_book = 1;
break;
case "NewReal3":
$songbook = "The_New_Real_Book_3.pdf";
$delta_book = 1;
break;
case "JazzLTD":
$songbook = "Jazz_LTD.pdf";
$delta_book = 1;
break;
case "NewReall":
$songbook = "The_New_Real_Book_1.pdf";
$delta_book = 1;
break;
case "Colorado":
$songbook = "Colorado_Book.pdf";
$delta_book = 1;
break;
case "Realbkl":
$songbook = "Real_Book_1.pdf";
$delta_book = 1;
break;
case "NewReal2":
$songbook = "The_New_Real_Book_2.pdf";
$delta_book = 1;
break;
case "Rea1Bk3":
$songbook = "Real_Book_3.pdf";
$delta_book = 1;
break;
case "Library":
$songbook = "Library.pdf";
$delta_book = 1;
break;
case "EvansBk":
$songbook = "Evans_Book.pdf";
$delta_book = 1;
break;
case "Evans Bk":
$songbook = "Evans_Book.pdf";
$delta_book = 1;
break;
default :
$songbook = "";
$delta_book= 0;
}
echo "<tr align=\"center\">";
echo "<td><a href=\"partoches/".$songbook."#page=".($rs_ligne["page"] + $delta_book)."\" title=\"Cliquez sur le lien pour atteindre la partition voulue\" target=\"_blank\">".$rs_ligne["titre"]."</a></td><td>".$rs_ligne["auteur"]."</td><td>".$rs_ligne["livre"]."</td>";
echo "</tr>";
}
echo "</table>";
$rs->free();
?>
Merci d'avance !
Bonjour à tous,
Je sollicite vos yeux perspicaces de lynx... je n'y comprends goutte...
Le principe de mon script est de générer une liste issue d'une table dans une base mysql dans un bête tableau html et de créer des liens dynamiquement, en fonction de la valeur d'un champ.
Je me sers d'un switch pour changer la valeur de ma variable , et j'ai besoin de comparer la valeur dudit champ avec les différents cas possibles de mon switch. J'espère que je suis clair...
Mais le problème est que quelle que soit la valeur du champ, c'est toujours l'action par défaut qui est exécutée. Comme si la comparaison entre les 2 chaînes de caractère ne fonctionnait pas.
Voici mes 2 questions :
- ma méthode est-elle la bonne ?
- pourquoi que ça marche t-y donc pas ?
Voici mon code (oui, c'est un truc pour gérer mes partitions) :
[code]<?php
require_once("cnn.php");
$req=("Select * FROM partoches");
$rs = mysqli_query($cnn,$req);
$nb_lignes = mysqli_num_rows($rs);
echo "Actuellement dans la base, il y a ".$nb_lignes." titres.";
// Construction du tableau
echo "<table>";
echo "<tr align=\"center\">";
echo "<td>Titre</td><td>Auteur</td><td>Song Book</td>";
echo "</tr>";
while ($rs_ligne = mysqli_fetch_assoc($rs)) {
switch ($rs_ligne["livre"]) {
case "Rea1Bk2":
$songbook = "Real_Book_2.pdf";
$delta_book = 1;
break;
case "JazzFake":
$songbook = "Jazz_Fake_Book.pdf";
$delta_book = 1;
break;
case "NewReal3":
$songbook = "The_New_Real_Book_3.pdf";
$delta_book = 1;
break;
case "JazzLTD":
$songbook = "Jazz_LTD.pdf";
$delta_book = 1;
break;
case "NewReall":
$songbook = "The_New_Real_Book_1.pdf";
$delta_book = 1;
break;
case "Colorado":
$songbook = "Colorado_Book.pdf";
$delta_book = 1;
break;
case "Realbkl":
$songbook = "Real_Book_1.pdf";
$delta_book = 1;
break;
case "NewReal2":
$songbook = "The_New_Real_Book_2.pdf";
$delta_book = 1;
break;
case "Rea1Bk3":
$songbook = "Real_Book_3.pdf";
$delta_book = 1;
break;
case "Library":
$songbook = "Library.pdf";
$delta_book = 1;
break;
case "EvansBk":
$songbook = "Evans_Book.pdf";
$delta_book = 1;
break;
case "Evans Bk":
$songbook = "Evans_Book.pdf";
$delta_book = 1;
break;
default :
$songbook = "";
$delta_book= 0;
}
echo "<tr align=\"center\">";
echo "<td><a href=\"partoches/".$songbook."#page=".($rs_ligne["page"] + $delta_book)."\" title=\"Cliquez sur le lien pour atteindre la partition voulue\" target=\"_blank\">".$rs_ligne["titre"]."</a></td><td>".$rs_ligne["auteur"]."</td><td>".$rs_ligne["livre"]."</td>";
echo "</tr>";
}
echo "</table>";
$rs->free();
?>[/code]
Merci d'avance !