Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: "Antriniai" linkai ;D
Parašė Narysx· 2009 Sau. 20 17:01:43
#1
Kuriu modus ir pan. dalykus ir turiu vieną labai silpną vietą... Nežinau kaip reikia padaryti "antruosius" linku. :D Nežinau kaip kitaip juos pavadint. ;D
Tarkim susikuriam failą linkai.php, kuriame yra užklausos, kurios traukia info iš duom. bazės ir atvaizduoja.
Kaip padaryti, kad būtų galima eiti tokiu adresu:
linkai.php?linkas=$kintamasis iš duom bazės
ir, kad ten nuėjus atvaizduotų viską where kintamasis = tam kuris yra adrese. Nu manau supratot. Jei ne, tai pasakykit - mėginsiu paaiškinti supratingiau. :)
Redagavo Narysx· 2009 Sau. 20 17:01:25
Parašė ozzWANTED· 2009 Sau. 20 17:01:02
#2
Prašom:
$where = isnum($_GET['linkas']) ? $_GET['linkas'] : 0;
$query = dbquery("SELECT * FROM ".DB_TABLE." WHERE kintamasis='$where' DESC LIMIT 1");
Parašė MAnjack· 2009 Sau. 20 17:01:33
#3
$linkas = $_GET['linkas'];
DAr galima pridėt tikrinimų visokių. tada užklausoj darai WHERE linkas=$linkas nu suprasi kai pabandysi :D
Parašė Narysx· 2009 Sau. 20 17:01:14
#4
Nelb supratau šitą kodą... Tai kurioj vietoj čia prašyti linkas.php turinį, o kurioje vietoje rašyti linkas.php?kintamasis=$kinamasis turinį? :)
EDIT: Čia ozzWANTED'ui.
Redagavo Narysx· 2009 Sau. 20 18:01:57
Parašė bad_user· 2009 Sau. 20 18:01:51
#5
$_GET pasiskaityk
php.net ;)
Parašė MAnjack· 2009 Sau. 20 18:01:28
#6
ozz dar geresnis už mano :) Bent jau aiškesnis :D
Parašė Narysx· 2009 Sau. 20 18:01:33
#7
Pasiskaičiau šiek tiek tame
php.net. Tai man daryti taip:
<?php
echo "linkas.php turinys";
$where = isnum($_GET['linkas']) ? $_GET['linkas'] : 0;
$query = dbquery("SELECT * FROM ".DB_TABLE." WHERE kintamasis='$where' DESC LIMIT 1");
?>
Ir man einant adresu
www.saitas.lt/linkai.php?linkas=15 (imu kaip pvz.). vaizduos viską kas surašyta echo "linkas.php turinys", tik pvz jei bus užklausos su pabaigomis where id=$linkas tai vaizduos visą tai ką turi penkioliktasis id?
Redagavo Narysx· 2009 Sau. 20 18:01:50
Parašė bad_user· 2009 Sau. 20 18:01:28
#8
Butent
Parašė Narysx· 2009 Sau. 20 18:01:53
#9
Ooo geras, supratau. ;D Dėkui už pagalbą. :)
Parašė ozzWANTED· 2009 Sau. 20 18:01:05
#10
ta echo dalis, jei iš
mysql imi viską, turi būti po užklausos, o ne prieš ją.
Ir dar $data = dbarray($query); neužmiršk.
Parašė Narysx· 2009 Sau. 20 18:01:30
#11
Tai viskas tūrėtų atrodyti taip:
<?php
$where = isnum($_GET['idas']) ? $_GET['idas'] : 0;
$query = dbquery("SELECT * FROM prefixas_users WHERE user_id='$where' DESC LIMIT 1");
$data = dbarray($query);
echo "Šio vartotojo user name yra: $username";
?>
Va čia dar viena bėda. Kaip pagal tą jūsų pateiktą užklausą atvaizduoti informaciją? Tarkim user_name'ą?
Ai blt nusišnekėjau tikriausiai...
Tas $data = dbarray($query); tam ir skirtas, kad būtų galima surašyti kintamuosius?
Redagavo Narysx· 2009 Sau. 20 18:01:01
Parašė MAnjack· 2009 Sau. 20 18:01:52
#12
Taip. tada $data['useris'].
Parašė Narysx· 2009 Sau. 20 18:01:19
#13
Aha, jau poniel, turėčiau susitvarkyt. :) Dėkui lb, padėjot su dalyku kuris man lb trukdė. ;D
Parašė Narysx· 2009 Sau. 21 14:01:04
#14
Am, o gal galit pasakyt, kaip tiksliai pasidaryt tuos kintamuosius? ;D Darau taip:
<?php
$where = isnum($_GET['date']) ? $_GET['date'] : 0;
$query = dbquery("SELECT * FROM fusion_rezu_system");
$data = dbarray($query);
$kada = $row['date'];
}
echo "kada : $kada";
?>
Bet gaudau errorus. ?|
Parašė bad_user· 2009 Sau. 21 15:01:26
#15
<?php
$where = isnum($_GET['date']) ? $_GET['date'] : 0;
$query = dbquery("SELECT * FROM fusion_rezu_system WHERE kazkas = '$where'");
$data = dbarray($query);
$kada = $data['date'];
echo "kada : $kada";
?>
Redagavo bad_user· 2009 Sau. 21 15:01:47
Parašė Narysx· 2009 Sau. 21 18:01:24
#16
Vistiek error.
Fatal error: Call to undefined function isnum() in /home/useris/url/failas.php on line 3
Parašė ex-it· 2009 Sau. 21 18:01:43
#17
maincore require
arba isnum() nuiiimk
Redagavo ex-it· 2009 Sau. 21 18:01:19
Parašė MAnjack· 2009 Sau. 21 18:01:58
#18
Includink maincore arba funkciją isnum sukurk. Nusimt nenuimk, nes saugumo prarasi.
Parašė ex-it· 2009 Sau. 21 18:01:03
#19
Jap ;)
Parašė Narysx· 2009 Sau. 21 18:01:18
#20
reguire'inu maincore ir nebemeta errorų, bet nieko neatvaizduoja... Biški aš pasimečiau tam kode. :| Krč
mysql. duom. bazėje yra įrašai su date ir man reikia, kad einant per url failas.php?date=$data rodytų visus įrašus kur yra būtent ta data, o einant tik failas.php rodytų visus linkus į datas. ?| Supratot kas nors? :|
Parašė ex-it· 2009 Sau. 21 18:01:46
#21
daryk dar su issetu tada.
Parašė Narysx· 2009 Sau. 21 18:01:22
#22
Nu žn, aš dar tiek daug nesuprantu. ;D Gal galima plačiau? :)
Redagavo Narysx· 2009 Sau. 21 18:01:33
Parašė ex-it· 2009 Sau. 21 18:01:09
#23
if(isset($date)) { Viskas kas yra kai nustatyta } else { Visi duomenys }
Parašė Narysx· 2009 Sau. 21 18:01:22
#24
O tai man to kodo kur seniau buvo jua nebenaudot? :) Tikriausiai naudot, nes jei rašysiu tik
<?php
if(isset($date)) { Viskas kas yra kai nustatyta } else { Visi duomenys }
?>
Tj nk čia nesigaus? :]
Parašė ex-it· 2009 Sau. 21 19:01:33
#25
:D pavarai biciukas.
ten kur
Viskas kas yra kai nustatyta, rasyk sita
$where = isnum($_GET['date']) ? $_GET['date'] : 0;
$query = dbquery("SELECT * FROM fusion_rezu_system WHERE kazkas = '$where'");
$data = dbarray($query);
$kada = $data['date'];
echo "kada : $kada";
ten kur
Visi duomenys
$query = dbquery("SELECT * FROM fusion_rezu_system");
$data = dbarray($query);
$kada = $data['date'];
echo "kada : $kada";
aisku galima ir patrumpinti bet daviau kad suprastum.
galima ir dar kitaip.. :)
Redagavo ex-it· 2009 Sau. 21 19:01:33
Parašė Narysx· 2009 Sau. 21 19:01:49
#26
Nu viską taip padariau, einu į failas.php ir rašo:
kada: 2009-01-21 (nors datų yra daug daugiau), o einant failas.php?date=2009-01-21 rašo:
kada:
:|
Parašė ex-it· 2009 Sau. 21 19:01:48
#27
Visi duomenys
$query = dbquery("SELECT * FROM fusion_rezu_system");
while($data = dbarray($query)) {
$kada = $data['date'];
echo "kada : $kada<BR>";
}
Redagavo ex-it· 2009 Sau. 21 19:01:15
Parašė bruzgis· 2009 Sau. 21 19:01:45
#28
<?php
/*---------------------------------------------------+
|
PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
|
http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit
http://gnu.org
+----------------------------------------------------*/
require_once "maincore.php";
require_once "subheader.php";
require_once "side_left.php";
if(isset($linkas) && isNum($linkas)) {
$data = dbarray(dbquery("SELECT * FROM ".$db_prefix."lentele WHERE id = $linkas"));
if(!$data) echo "Duomenų nėra";
//Visa info is db, kur id lygus $linkas. Naudok $data['pavadinimas'] ....
} else {
//veiksmas jeigu nenurodytas linkas ar kas nors panasaus. cia gali pavaizduot visas pirmines nuorodas su $linkas :)
}
require_once "side_right.php";
require_once "footer.php";
?>
Parašė Narysx· 2009 Sau. 21 19:01:18
#29
Na dabar einant failas.php atrodo viskas gerai - atvaizduoja visas datas tekstu, tai linkus pasidaryt bus nesunku... Tai kaip suprantu šita vieta:
if(isset($date)) {
$where = isnum($_GET['date']) ? $_GET['date'] : 0;
$query = dbquery("SELECT * FROM fusion_rezu_system WHERE date = '$where'");
$data = dbarray($query);
$ho_team = $data['ho_team'];
$aw_team = $data['aw_team'];
$ho_score = $data['ho_score'];
$aw_score = $data['aw_score'];
echo "kada : $ho_team ";
} else {
yra
failas.php?date=$data, bet pvz einu failas.php?date=2009-01-21 nieko neatvaizduoja. :) tik tą kada. ?| Su šituo padėkit ir fsio, nes jau pasistūmėjau. ;D
EDIT: čia exit'ui.
Redagavo Narysx· 2009 Sau. 21 19:01:12
Parašė sniuff· 2009 Sau. 21 19:01:53
#30
$where = $_GET['date'] ? $_GET['date'] : 0;
Parašė ex-it· 2009 Sau. 21 19:01:22
#31
Sniuff - LOL?
Pameginau, neveikia su tuo isnum :D
Redagavo ex-it· 2009 Sau. 21 19:01:32
Parašė Narysx· 2009 Sau. 21 19:01:39
#32
Gracijas. ;DDD Visiems kas čia padėjot duočiau 10, bet kolkas visiems neleidžia. ;D Fsio, turėčiau suitvarkyt, jei nekils problemų keičiant tekstą į linkus. :]
ex-it parašė:
Sniuff - LOL?
O kas ten blogai jo kode? Kai padariau kaip jis parašė veikt pradėjo. ;)
Redagavo Narysx· 2009 Sau. 21 19:01:05
Parašė ex-it· 2009 Sau. 21 19:01:08
#33
Nu nes tavo datoje buvo
- (bruksnelis)
Redagavo ex-it· 2009 Sau. 21 19:01:27
Parašė Narysx· 2009 Sau. 21 19:01:45
#34
Aaaa. :)
Parašė ex-it· 2009 Sau. 21 19:01:18
#35
o jei nors vienas yra ne skaicius, tai tada gaudavai 0 ir nieko nerode ;)
Redagavo ex-it· 2009 Sau. 21 19:01:29
Parašė Narysx· 2009 Sau. 21 19:01:31
#36
Dabar dar vienas klausimas. :) Kaip ten kur failas.php datos surašytos skliausteliuose atvaizduoti kiek yra įrašų su ta data? Kitaip sakant, koks skaičiavimo kodas?
Parašė Narysx· 2009 Sau. 21 20:01:33
#37
Krč nesamonė, net ne taip ten gavos... Eini į failas.php ir rašo visas datas, bet pvz jei yra du įrašai su vienodom datom, tai juos abu ir atvaizduoja...
Parašė MAnjack· 2009 Sau. 21 20:01:34
#38
Nu taip. Kitaip LIMIT uždėk :)
Parašė Narysx· 2009 Sau. 21 20:01:36
#39
Limit iš vis nėra uždėtas. ?| Va visas kodas:
<?php
require_once "../../maincore.php";
require_once "../../subheader.php";
require_once "../../side_left.php";
if(isset($date)) {
$where = $_GET['date'] ? $_GET['date'] : 0;
$query = dbquery("SELECT * FROM fusion_rezu_system WHERE date = '$where'");
$data = dbarray($query);
$ho_team = $data['ho_team'];
$aw_team = $data['aw_team'];
$ho_score = $data['ho_score'];
$aw_score = $data['aw_score'];
echo "kada : $ho_team $aw_team";
} else {
echo "<center><b>Rezultatai:</b></center><br>";
$query = dbquery("SELECT * FROM fusion_rezu_system");
while($data = dbarray($query)) {
$kada = $data['date'];
echo "<center><a href='rezultatai.php?date=$kada'>$kada</a></center>";
}
}
require_once "../../side_right.php";
require_once "../../footer.php";
?>
What's wrong?