Kezdőoldal » Számítástechnika » Programozás » PHP-ban ha kilistázok hogyan...

PHP-ban ha kilistázok hogyan lehet beszabályozni hogy hány rekordot listázzon ki?

Figyelt kérdés

PHP ban ki szeretném listázni egy x tábla rekordjait, de nem az összeset hanem pl csak az első 10-et, a DML lekérdezésben kell valamit írni?


Forráskód


$query = mysql_query("SELECT * FROM tutorials ORDER by id DESC");

while($a=mysql_fetch_assoc($query)){

stb...

}


2011. aug. 13. 14:55
1 2 3
 1/26 anonim ***** válasza:

Igen, célszerűbb a lekérdezésben átrni: SELECT * FROM tutorials ORDER by id DESC LIMIT 10

Persze lehetne PHPben is csak 10-ig futtatni a ciklust, de akor feleslegesen dolgoztatnánk az sql szervert.

2011. aug. 13. 15:11
Hasznos számodra ez a válasz?
 2/26 A kérdező kommentje:
Az oldalam olyan lesz hogy tutorialokat meg ilyeneket lehet megosztani, a főoldalon ki lesz listázva a tartalma de nem szeretném az egész tartalmat kilistázni csak pl az első 300 karaktert és ha a 301 karaktert olvassa akkor a végére tesz 3db pontot, erre mit tudnál javasolni ?:O
2011. aug. 13. 18:11
 3/26 anonim ***** válasza:

Az első kérdésedre a válasz:


$query = mysql_query("SELECT * FROM tutorials ORDER by id DESC LIMIT 0, 10");

while($a=mysql_fetch_assoc($query)){

stb...

}


A LIMIT után két paramétert szokás megadni. Az első azt jelenti hogy attól a számú rekordtól listázza a rekordokat a második paraméterig.


A második kérdésre a válasz:


substr($sor['hir'], 0, 300)."...";


Ez csak az első 300 karaktert írja ki az adatbázisból nyert $sor['hir'] tartalmából, és utána 3 pontot jelenít meg.

2011. aug. 13. 22:01
Hasznos számodra ez a válasz?
 4/26 A kérdező kommentje:

thx, amm te generáltál már linket php-val így random, kellenek szted hozzá tömbök? én az mt_rand(); függvényre gondoltam de ez csak az alapötlet :P, és ha generáltál már akkor elmondanád hogy is kell a linkhez tartozó oldalt létrehozni, mert nem nagyon tudok angolul és szinte csak angol oldalakat találtam. Nekem az lett volna az alapötletem, hogy amikor mondjuk kattint hogy "küldés" akkor generál egy oldalt és azt elmenti egy véletlen nevű linkkel, amikor kilistázom a főoldalon a tutorialokat akkor így hívom meg:


<a href='<?=$sor[link]?>'><?=$sor[name]?></a>


előre is thx

2011. aug. 14. 12:08
 5/26 anonim ***** válasza:

Nem értem pontosan a kérdésed hogy mire gondoltál, de ha jól értem akkor létre akarsz hozni egy fájlt a "küldés" -kor aminek a neve egy véletlenszerűen generált név és ennek a nevét adatbázisba akarod rakni hogy később linkké tudd alakítani az oldalon, és erre kattintva bejönne az oldal ami generálva lett?


Remélem jól értettem, ha igen akkor leírom hogy csináld.


Amikor elküldi az user az űrlapodat gondolom van egy fájl van egy rész ahol feldolgozod. Oda rakd be ezt:


$r =rand();

$data= " Az adat amit a fájlba akarsz írni!";

file_put_contents("_".$r."php", $data);


Ez létrehoz egy fájlt neked a gyökérkönyvtárba ami egy _ jellel fog kezdődni. Ez azért kell mert karakternek minősül és nem minden szerver szereti a számmal kezdődő fájl neveket. A függvény második paramétere a $data. Ami ebben van azt írja bele a fájlba. Ha komplett használható fájlt akarsz generálni, akkor a $data tartalma így kezdődjön:

$data = "<?php

echo "Ezt már php fájlként generálod";

?>";


Ezzel létrehoztál egy véletlen generált fájlt (és tartalmat is adtál neki) aminek a nevét mentsd adatbázisba hogy később linkké alakítva fel tudd használni vagyis meg tudd jeleníteni az oldalt.

Az újonnan generált oldalad neve :


$ujfajl="_".$r."php"; // az $ujfajl tartalmát mentsd el db-be


Ha kilistázva linkké akarod alakítani akkor a kódod amit írtál nem a legjobb megoldás. Helyette csináld inkább így:


Lekéred mysql-ból a tábládat és kilistázod.


$query=mysql_query("SELECT * FROM tabla_neve");

while($rows =mysql_fetch_assoc($query)){

echo "<a href='".$rows['link']."'>".$rows['name']."</a>";

}


Persze így a href részben csak a fájl neve kerül. Ha egy oldal egy részén akarod megjeleníteni akkor include() -old vagy azt csinálsz vele amit akarsz a lényeg hogy így létrehoztál egy generált fájlt, a nevét adatbázisba raktad, kilistáztad linkké alakítva.

Ha rákattintasz a linkre akkor az az oldal fog bejönni.


Ha nem jól értettem a kérdésedet akkor fogalmazd meg másképp.


üdv.

2011. aug. 15. 16:57
Hasznos számodra ez a válasz?
 6/26 A kérdező kommentje:

Köszönöm hogy erre időt szántál, sokat segítettél!!!!

Ha kész lesz az oldal akkor beregisztrálsz?


üdv : sm

2011. aug. 16. 13:23
 7/26 anonim ***** válasza:

Szívesen.

Persze beregizek, ha lesznek jó tutorialok, úgyis állandóan tanulok :).

Dobd a linket, majd letesztelem az oldalad.

Remélem az index-be asszociatív tömböt használsz, és az oldalad linkjei nem a meghívandó fájl neveit tartalmazzák! Ha nem így van akkor alakítsd át az oldalad. Soha ne adj meg közvetlen elérési útvonalat a fájljaidhoz az URL-ben!

2011. aug. 16. 15:06
Hasznos számodra ez a válasz?
 8/26 A kérdező kommentje:

persze mysql_fetch_array van egy while-on belül!

De miért ne adjam meg közvetlenül?

2011. aug. 16. 17:32
 9/26 A kérdező kommentje:
Amúgy abba a $data változóba amit írtál, hogy abba tegyem az oldal tartalmát, hogyan lehetne elérni hogy beletegyen egy sablon oldalt tehát egy alapot, meg azt amit ő írt?
2011. aug. 16. 17:34
 10/26 A kérdező kommentje:

Sikerült köszi! Még egy a problémám méghozzá az, hogy amikor kilistázom az adatbázisból a tartalmat, akkor az ű ő betűk helyén kérdőjel van. a karakterkódolás ez:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

2011. aug. 16. 17:59
1 2 3

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!