Datuve :: Forums :: Arhīvs :: PHP un MySQL datubāze

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 117

Reģistrētie lietotāji online: 0

Viesi online: 117

Datuve.lv video
Top.LV

PHP un MySQL datubāze

Ievietoja: Narix @ 2008.02.21 17:37  

Kā lai izveido primitīvu web lapu, kas ļauj šķirstīt DB ierakstus, katru reizi uz ekrāna parādot vienu ierkastu, kā arī navigācijas elementus:   [Pāriet   uz   1.ierkastu],   [Pāriet uz  iepriekšējo   ierkastu],[Pāriet uz nākamo ierkastu], [Pāriet uz pēdējo ierakstu]. Piemēram šādi:
[<<] [<] [>] [>>]
Vārds: Juris
Uzvārds: Kociņš
P.k. 010181-12345
Nodaļa: HWZ

Palīdziet lūdzu.

Komentāri:

#1 Narix @ 2008.02.21 17:39

Esmu ticis tik tālu, bet tas viss izvada pilnībā visu DB saturu:
$dblink = new mysqli("localhost", "", "", "");
/* pārbaudam pieslēgumu */
if (mysqli_connect_errno()) {
  printf("Neizdevās pieslēgties: %s\n", mysqli_connect_error());
  exit();
}
{
$query  = "SELECT id, niks FROM lietotaji";
$result = $dblink->query($query);

while ($row = $result->fetch_assoc())

   print "ID :{$row['id']} <br>" .
        "Niks : {$row['niks']} <br><br>";
     }

#2 drono @ 2008.02.21 17:43

SQL teikumu raksti kkādu šādu

SELECT vards, uzvards, pk, nodala FROM tabula LIMIT $lapa,1

, kur $lapa ir mainīgais, kurā ir vajadzīgā lapa.

#3 Narix @ 2008.02.21 17:50

Nu teiksim tā, man ir datubāze, viņā ir desmit ieraksti, atverot index.php man atveras pirmais ieraksts un tālak lai es tos datubāzes ietakstus varētu šķirstīt tālāk kā redzams augšā... Kā lai to dabū gatavu? Nu man galīgi nepielec kā darboties ar to fetch_assoc() ! :(

#4 iall @ 2008.02.21 17:51

Samuldējos ,lieto - LIMIT - http://php.about.com/od/mysqlcommands/g/Limit_sql.htm

#5 Narix @ 2008.02.21 17:56

$query  = "SELECT id, niks FROM lietotaji LIMIT 2"

parāda divuss ierakstus

$query  = "SELECT id, niks FROM lietotaji LIMIT 3"

paraada triis ierakstus

Kā lai visu apvieno tajā vienā php failā un uztaisa to menu?

#6 bombtrack @ 2008.02.21 18:07

Nezinu kā to realizē PHP, bet tu vari uztaisīt vienkāršu HTML formu, kurā būtu poga, kas izsauc funkciju. Funkcija savukārt atgriež pa vienam objektam no masīva, kurā glabājas no DB nolasītās rindas. Pēc katra objekta nolasīšanas, palielini masīva nolasāmā elementa indeksu. Vai samazini, ja gribi "pāršķirt" atpakaļ. Nu, īsāk sakot, dabūj DB ierakstus masīvā un tad vnk dabūj vajadzīgo objektu no masīva.

#7 iall @ 2008.02.21 18:07

Lapošanu?
[<<] [<] 1.2.3.4 [>] [>>]

http://paste.php.lv/6878 - Nodzēs nevejadzīgo ,ieraksti vajadzīgo un viss čiki :)

#8 drono @ 2008.02.21 18:16

Tavu kodu varētu pielāgot šādi. Negalvoju, ka darbojas, un varētu dažās vietās būt kļūda par +-1, bet doma varbūt būs skaidra:

<?php
$dblink = new mysqli("localhost", "", "", "");
/* pārbaudam pieslēgumu */
if (mysqli_connect_errno()) {
 printf("Neizdevās pieslēgties: %s\n", mysqli_connect_error());
 exit();
}
$lapa = (isset($_GET['lapa'])) ? intval($_GET['lapa']) : 1;

$skaits0 = mysql_fetch_array(mysql_query("SELECT count(*) FROM lietotaji"));
$skaits=$skaits0[0];

$plusviens = $lapa+1;
$minusviens = $lapa-1;

echo "<a href=\"index.php?lapa=1\">[&lt;&lt;]</a>"
if($lapa!=1)echo "<a href=\"index.php?lapa=$plusviens\">[&lt;]</a>";
if($lapa!=$skaits)echo "<a href=\"index.php?lapa=$minusviens\">[&gt;]</a>";
echo "<a href=\"index.php?lapa=$skaits\">[&gt;&gt;]</a>"

$query  = "SELECT id, niks FROM lietotaji LIMIT $lapa,1";
$result = $dblink->query($query);

while ($row = $result->fetch_assoc()){

  echo "ID :{$row['id']} <br>" .
       "Niks : {$row['niks']} <br><br>";
}
?>

Kodā ir pieņemts, ka faila nosaukums ir "index.php"

#9 Narix @ 2008.02.22 14:22

šķiet ka kaut kas tomēr tu nav pareizi...

Varbūt vēl kādi ieteikumi? Palīdziet lūdzu.