Witam serdecznie.
Rozgryzłem pewien problem, jaki mnie nurtował (sortowanie kolumn), ale nie sądzę, żeby to było uniwersalne rozwiązanie...
posiadam plik: "wynik_nr.inc"
[php]
<?php
$zapytanie = "
SELECT *
FROM dane
ORDER BY id_nr";
$conn=mysql_connect("localhost", "123");
mysql_select_db("test", $conn);
$wynik = mysql_query($zapytanie) or die(Mysql_error());
echo ("<table width=\"300\" border=\"1\">");
echo ("<tr>");
echo ("<td><a href=index.php?go=wynik_nr>Nr.</a></td>");
echo ("<td><a href=index.php?go=wynik_nazwisko>Nazwisko</a></td>");
echo ("<td><a href=index.php?go=wynik_imie>Imie</a></td>");
echo ("</tr>");
while($rekord = mysql_fetch_array($wynik))
{
$nr = $rekord[id_nr];
$nazwisko = $rekord[nazwisko];
$imie = $rekord[imie];
echo ("<tr>");
echo ("<td>$nr</td>");
echo ("<td>$nazwisko</td>");
echo ("<td>$imie</td>");
echo ("</tr>");
}
echo ("</table>");
?>
[/php]
drugi plik to: "wynik_imie.inc"
[php]
<?php
$zapytanie = "
SELECT *
FROM dane
ORDER BY imie";
$conn=mysql_connect("localhost", "123");
mysql_select_db("test", $conn);
$wynik = mysql_query($zapytanie) or die(Mysql_error());
echo ("<table width=\"300\" border=\"1\">");
echo ("<tr>");
echo ("<td><a href=index.php?go=wynik_nr>Nr.</a></td>");
echo ("<td><a href=index.php?go=wynik_nazwisko>Nazwisko</a></td>");
echo ("<td><a href=index.php?go=wynik_imie>Imie</a></td>");
echo ("</tr>");
while($rekord = mysql_fetch_array($wynik))
{
$nr = $rekord[id_nr];
$nazwisko = $rekord[nazwisko];
$imie = $rekord[imie];
echo ("<tr>");
echo ("<td>$nr</td>");
echo ("<td>$nazwisko</td>");
echo ("<td>$imie</td>");
echo ("</tr>");
}
echo ("</table>");
?>[/php]
oraz trzeci plik: "wynik_nazwisko.inc"
[php]
<?php
$zapytanie = "
SELECT *
FROM dane
ORDER BY nazwisko";
$conn=mysql_connect("localhost", "123");
mysql_select_db("test", $conn);
$wynik = mysql_query($zapytanie) or die(Mysql_error());
echo ("<table width=\"300\" border=\"1\">");
echo ("<tr>");
echo ("<td><a href=index.php?go=wynik_nr>Nr.</a></td>");
echo ("<td><a href=index.php?go=wynik_nazwisko>Nazwisko</a></td>");
echo ("<td><a href=index.php?go=wynik_imie>Imie</a></td>");
echo ("</tr>");
while($rekord = mysql_fetch_array($wynik))
{
$nr = $rekord[id_nr];
$nazwisko = $rekord[nazwisko];
$imie = $rekord[imie];
echo ("<tr>");
echo ("<td>$nr</td>");
echo ("<td>$nazwisko</td>");
echo ("<td>$imie</td>");
echo ("</tr>");
}
echo ("</table>");
?>[/php]
To są PRAWIE takie same pliki. Jedyna różnica, to ORDER BY ????.
To rozwiązanie jest pracochłonne przy modyfikacji ilości kolumn. Już tłumaczę. Przypuśćmy, że będę chciał dodać do bazy kolumnę adres. Będę zmuszony dodać tą kolumnę we wszystkich trzech plikach, a także dodać czwarty plik z sortowaniem po adresie.
Baaaardzo pracochłonne przy tabeli z 12 kolumnami
A na dodatek, jak bym chciał posortować malejąco??? To kolejne pliki będą się mnożyć na serwerze jak króliki na wiosnę
Chciałbym, aby nagłówki kolumn przekazywały zmienną, która to wpisywała by się do ORDER BY $zmienna, wpływając na JEDEN plik
Sądzę, że da się to zrobić, tylko jak?
Czy ktoś ma jakiś pomysł?


