konto usunięte

Temat: poszukuję tutoriala/skryptu

Witam.

Poszukuję dobrego skryptu/tutoriala do stronicowania wyników z mysql . Dane chciałbym aby wyświetlały się w tabeli. ten temat już przerabiałem z googlem.

<?php

$conn=mysql_connect('localhost', 'aaa', 'bbb') or die(mysql_error());
mysql_select_db('ccc', $conn);

$page;
$totResults;
$maxResults=20;


if(isset($_GET['page'])) {
$page=$_GET['page'];
}
else {
$page=1;
}
/* Getting the total number of results in the database */
$calcRowsQuery="Select COUNT(*) as rows FROM customers";
$calcRowsRes=mysql_query($calcRowsQuery, $conn);
$totResults=mysql_result($calcRowsRes, 0);

$from=$maxResults*($page-1);
$resQuery="SELECT * FROM customers LIMIT $from, $maxResults";
$result=mysql_query($resQuery);

while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td><a href=edit.php?NR=".$row['NR']." >Edytuj</a></td>";
echo "<td><a href=delete.php?NR=".$row['NR']." >Usuń</a></td>";
echo "<td>" . $row['NR'] . "</td>";
echo "<td>" . $row['Nazwisko'] . "</td>";
echo "<td>" . $row['Imie'] . "</td>";
echo "<td>" . $row['Firma'] . "</td>";
echo "<td>" . $row['Kod_pocztowy'] . "</td>";
echo "<td>" . $row['Miasto'] . "</td>";
echo "<td>" . $row['Adres'] . "</td>";
echo "<td>" . $row['Panstwo'] . "</td>";
echo "<td>" . $row['Telefon'] . "</td>";
echo "<td>" . $row['IDklienta'] . "</td>";
echo "</tr>";

}

echo "</table> n <p class='style3'> <center>";

$previousPage=$page-1;
$nextPage=$page+1;
$last=(int)($totResults/$maxResults);
if($page != 1) {
echo "<a href='klienci.php'>First</a> ";
echo "<a href='klienci.php?page=". $previousPage ."'>Previous</a> ";
}
else {
echo "First ";
echo "Previous ";
}

for($pageCount=1; $pageCount <= $lastPage; $pageCount++) {
if ($pageCount!=$page)
{
echo "<a href='klienci.php?page=". $pageCount ."'> ". $pageCount ."</a> ";
}
else {
echo "[" .$pageCount. "] ";
}
}



if($totResults > ($from+$maxResults)) {
echo "<a href='klienci.php?page=". $nextPage ."'>Next</a> ";
echo "<a href='klienci.php?page=". $lastPage ."'>Last</a> ";
}
else {
echo "Next ";
echo "Last ";
}

echo "</center></p> n";


?>


mam już takiego wariata. ale po wybraniu last page otrzymuję błąd
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in klienci.php  on line 26


docelowa tabela ma się prezentować tak:
echo "<table border='0' cellspacing='0' cellpadding='0'>
<tr>
<th>Aktualizuj</th>
<th>Usun</th>
<th>NR</th>
<th>Nazwisko</th>
<th>Imie</th>
<th>Firma</th>
<th>Kod pocztowy</th>
<th>Miasto</th>
<th>Adres</th>
<th>Panstwo</th>
<th>Telefon</th>
<th>IDklienta</th>
</tr>";
echo "<tr>";
echo "<td><a href=edit.php?NR=".$row['NR']." >Edytuj</a></td>";
echo "<td><a href=delete.php?NR=".$row['NR']." >Usuń</a></td>";
echo "<td>" . $row['NR'] . "</td>";
echo "<td>" . $row['Nazwisko'] . "</td>";
echo "<td>" . $row['Imie'] . "</td>";
echo "<td>" . $row['Firma'] . "</td>";
echo "<td>" . $row['Kod_pocztowy'] . "</td>";
echo "<td>" . $row['Miasto'] . "</td>";
echo "<td>" . $row['Adres'] . "</td>";
echo "<td>" . $row['Panstwo'] . "</td>";
echo "<td>" . $row['Telefon'] . "</td>";
echo "<td>" . $row['IDklienta'] . "</td>";
echo "</tr>";
echo "</table>";


Czy ktoś może mi z tym pomóc?Marcin P. edytował(a) ten post dnia 09.02.10 o godzinie 02:02

Temat: poszukuję tutoriala/skryptu

Temat dość oklepany. Poniżej przedstawiam pseudokod z użyciem php i sql.

$liczbaRekordowNaStronie = 20;
$numerStrony = 0; // można sobie pobrać poprzez zmienną GET

$rekordy = 'select * from table limit '.( $numerStrony * $liczbaRekordowNaStronie ).','.$liczbaRekordowNaStronie.';';
$liczbaRekordow = 'select count(*) from table';
$liczbaStron = round($liczbaRekordow/$liczbaRekodrowNaStronie);



Wyświetlanie linków do stron już zależy od Twojej inwencji albo życzeń. Główna, dość prosta idea jest zaprezentowana powyżej.

konto usunięte

Temat: poszukuję tutoriala/skryptu

Temat może oklepany, ale raczej nie tak prosty jak we wskazanym przykładzie.

Google z hasłem "php paging results" zwraca na przykład to:

http://www.php-mysql-tutorial.com/wikis/php-tutorial/p...

konto usunięte

Temat: poszukuję tutoriala/skryptu

Moze ADOdb Pager?
http://phplens.com/adodb/tutorial.implementing.scrolli...

Temat: poszukuję tutoriala/skryptu

Piotr Wittchen:
Temat dość oklepany. Poniżej przedstawiam pseudokod z użyciem php i sql.

Jeśli już to:


$liczbaStron = ceil($liczbaRekordow/$liczbaRekodrowNaStronie);

konto usunięte

Temat: poszukuję tutoriala/skryptu

Piotr Likus:
Temat może oklepany, ale raczej nie tak prosty jak we wskazanym przykładzie.

Google z hasłem "php paging results" zwraca na przykład to:

http://www.php-mysql-tutorial.com/wikis/php-tutorial/p...


ok ok ale jak tu [piiii] tabelę podpiąć?

konto usunięte

Temat: poszukuję tutoriala/skryptu

Marcin P.:
Witam.

Poszukuję dobrego skryptu/tutoriala do stronicowania wyników z mysql . Dane chciałbym aby wyświetlały się w tabeli. ten temat już przerabiałem z googlem.

http://nospor.pl/pager-2.5.1-oraz-epager-n28.html
korzystam i nie narzekam :)

konto usunięte

Temat: poszukuję tutoriala/skryptu

żeby nie zakladać osobnego wątku na kolejne pytanie spytam tu.
proszę, oświećcie mnie. co w poniższym selekcie jest nie tak?
$result = mysql_query("SELECT `baza firmy`.*, `customers`.* FROM `baza renault` LEFT JOIN `customers` ON `baza firmy`.`NR`=`customers`.`NR` WHERE `NR`='".$_GET['NR']."'");


jest on w formularzu aktualizacji.

`baza firmy`.*, `customers`.* FROM `baza renault` LEFT JOIN `customers` ON `baza firmy`.`NR`=`customers`.`NR`
używam w raportach do druku i jest ok.

aha, bez tej całej formułki z LEFT JOIN śmiga jak należy. ale ona musi być.Marcin P. edytował(a) ten post dnia 10.02.10 o godzinie 01:03
Paweł Malisak

Paweł Malisak PHP Developer

Temat: poszukuję tutoriala/skryptu

daj:

echo "SELECT `baza firmy`.*, `customers`.* FROM `baza renault` LEFT JOIN `customers` ON `baza firmy`.`NR`=`customers`.`NR` WHERE `NR`='".$_GET['NR']."'";

jest ustawiony numer? ;) jeśli nie to polecam używać i nie wykluczać E_NOTICE:

ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);Paweł Malisak edytował(a) ten post dnia 10.02.10 o godzinie 08:29
Michał Płonka

Michał Płonka Programista PHP

Temat: poszukuję tutoriala/skryptu

Dobra rada: mysql_error() Twoim przyjacielem.
$result = mysql_query('SELECT...') or die(mysql_error());

W Twoim zapytaniu widzę pewną rozbieżność. Raz używasz `baza firmy`, a raz `baza renault`. Poza tym wypadałoby zabezpieczyć się przed SQL Injection. Jeżeli w $_GET['NR'] masz liczbę całkowitą to najlepiej dokonaj rzutowania poprzez (int)$_GET['NR']. Dla stringów korzystaj np. z mysql_escape_string($_GET['NR']).

Jeżeli moje porady okażą się niewystarczające to napisz jaki błąd dostajesz. Błąd zapytania SQL? Błędne dane?
Paweł Malisak

Paweł Malisak PHP Developer

Temat: poszukuję tutoriala/skryptu

Michał Płonka:
Dobra rada: mysql_error() Twoim przyjacielem.

jeszcze lepsza to będzie używanie PDO i wyjątków ;)

konto usunięte

Temat: poszukuję tutoriala/skryptu

Błąd polega na niejednoznacznym odwołaniu się do pola NR.
Dodaj nazwę tabeli.

I koniecznie włącz komunikaty błędów (najlepiej do logu) - patrz powyżej.

$result = mysql_query(
"SELECT `baza firmy`.*, `customers`.* FROM `baza renault`
LEFT JOIN `customers`
ON `baza firmy`.`NR`=`customers`.`NR`
WHERE `baza renault`.`NR`='".$_GET['NR']."'");
Piotr Likus edytował(a) ten post dnia 10.02.10 o godzinie 10:13

konto usunięte

Temat: poszukuję tutoriala/skryptu

Piotr Likus:
I koniecznie włącz komunikaty błędów (najlepiej do logu) - patrz powyżej.

$result = mysql_query(
"SELECT `baza firmy`.*, `customers`.* FROM `baza renault`
LEFT JOIN `customers`
ON `baza firmy`.`NR`=`customers`.`NR`
WHERE `baza renault`.`NR`='".$_GET['NR']."'");

I koniecznie uważaj, co podajesz do zapytania..

Zmień
$_GET['NR']

na
(int) $_GET['NR']

konto usunięte

Temat: poszukuję tutoriala/skryptu

Michał Płonka:
Dobra rada: mysql_error() Twoim przyjacielem.
$result = mysql_query('SELECT...') or die(mysql_error());

W Twoim zapytaniu widzę pewną rozbieżność. Raz używasz `baza firmy`, a raz `baza renault`. Poza tym wypadałoby zabezpieczyć się przed SQL Injection. Jeżeli w $_GET['NR'] masz liczbę całkowitą to najlepiej dokonaj rzutowania poprzez (int)$_GET['NR']. Dla stringów korzystaj np. z mysql_escape_string($_GET['NR']).

Jeżeli moje porady okażą się niewystarczające to napisz jaki błąd dostajesz. Błąd zapytania SQL? Błędne dane?

ops. wydało się, nie zauważyłem.

konto usunięte

Temat: poszukuję tutoriala/skryptu

temat do zamknięcia. problem rozwiązany.



Wyślij zaproszenie do