Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 17 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.03.10
Prihlásený: 19.04.13
Príspevky: 65
Témy: 26
Príspevok NapísalOffline : 12.04.2010 18:26

Caute,

potrebovala by som poradit... ak mam v databaze tabulku tab1 v ktorej mam stlpce napr. ID, ID2, stlpec1, stlpec2, stlpec3. ID a ID2 je integer, stlpce su varchar....

ID ID2 stlpec1 stlpec2 stlpec3
1 1 text text text
1 2 text text text
1 3 text text text
2 1 text text text
2 2 text text text
2 3 text text text
3 1 text text text

v PHP potrebujem nahodne vygenerovat ID cislo, pricom nasledne po vygenerovani potrebujem ulozit do pola vsetky zaznamy ktore obsahuju to vygenerovane cislo a nasledne s nimi dalej pracovat....

Dufam ze som sa vyjadrila zrozumitelne.... :) a ze sa najde niekto ochotny, co mi pomoze ;)

Dakujeeeeeem ;)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 12.04.2010 19:28

pokial by bolo jasne, ze v DB v stlpci ID budu vsetky cisla po najvacsie z cisel a nebude ziadne chybat mas to lahke. Len vyberies najvacsie cislo a pouzijes funkciu rand od nula po to cislo a dalej sql prikaz so SELECT, FROM, WHERE id = '".$vysledok_funkcie_rand."' .

v tomto pripade by som to ale spravil tak, ze najprv by som vybral vsetky riadky zo stlpca ID a ulozil ich do pola v indexmi od 0 do x po poradi (to mas lahke, v tomto pripade $pole_s_idmi_z_db ) .
Dalej by som definoval nove prazdne pole a spravil ciklus while nejak takto:
Kód:
$nove_pole = array();
$i = 0;
while( $i != sizeof( $pole_s_idmi_z_db ) ) {
if( !in_array( $pole_s_idmi_z_db[$i], $nove_pole ) ) {
$index = sizeof( $nove_pole ) + 1;
$nove_pole[$index] = $pole_s_idmi_z_db[$i];
}
$i++;
}

a potom uz len:
Kód:
$pocet = sizeof( $nove_pole );
$id = rand( 1, $pocet );
$sql = "SELECT * FROM tab1 WHERE `id` = '".$nove_pole[$id]."' ";


urcite to nieje najlepsie riesenie snad sa to da spravit jednoduchsie vyuzitim SQL ale ja ako neskuseny by som si pomohol takto :)

editovanie


Offline

Skúsený užívateľ
Skúsený užívateľ
PHP a MYSQL

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.04.2010 14:36

Kód:
SELECT *
  FROM tab1
  WHERE id = (SELECT id FROM tab1 ORDER BY rand() LIMIT 1)







_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 13.04.2010 15:24

goodwil
ak sa nemylim, tvoj priklad by v takomto zneni tabulky ako uviedla:
1 1 text text text
1 2 text text text
1 3 text text text
2 1 text text text
2 2 text text text
2 3 text text text
3 1 text text text

nebol az tak dobry, pretoze je ovela vacsia sanca ze vyberie 1 alebo 2 nez 3 ;) celkovo 3:3:1


Offline

Správca fóra
Správca fóra
PHP a MYSQL

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.04.2010 15:55

v tom pripade staci pouzit DISTINCT alebo GROUP BY







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.03.10
Prihlásený: 19.04.13
Príspevky: 65
Témy: 26
Príspevok Napísal autor témyOffline : 13.04.2010 19:17

pocet ID-ciek bude ale rovnaky.... teda 3x1, 3x2, 3x3.... cize pomer pre vyber jednotliveho cisla bude pre vsetky rovnaky


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.03.10
Prihlásený: 19.04.13
Príspevky: 65
Témy: 26
Príspevok Napísal autor témyOffline : 15.04.2010 18:40

este otazocka.... pokusala som sa vlozit do databazy hodnotu od uzivatela
$_GET[$q_num], ktora sa porovnava so spravnym riesenim if ($_GET[$q_num]==$zaznam["riesenie"]) {.....}

lenze

$vysledek=mysql_query("insert into tab2 (ID, meno) values ('3',$_GET[$q_num])");

nefunguje... skusala som aj rozne ine varianty s uvodzovkami, atd ale nic nefungovalo.... vie niekto kde mam chybu? :loony: :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 15.04.2010 19:16

Kód:
$vysledek=mysql_query("INSERT INTO tab2 (ID, meno) VALUES ('3', '".$_GET[$q_num]."' )");


edit// budes mat lepsie ak si budes pisat sql znacky ako INSERT, INTO, VALUES velkymi pismenami, poziadavku nevkladat rovno do quericky ale premennej.

je jasne preco musis mat zapisanu GET premennu hantak vsak


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.03.10
Prihlásený: 19.04.13
Príspevky: 65
Témy: 26
Príspevok Napísal autor témyOffline : 15.04.2010 19:22

1daemon1 píše:
Kód:
$vysledek=mysql_query("INSERT INTO tab2 (ID, meno) VALUES ('3', '".$_GET[$q_num]."' )");


edit// budes mat lepsie ak si budes pisat sql znacky ako INSERT, INTO, VALUES velkymi pismenami, poziadavku nevkladat rovno do quericky ale premennej.

je jasne preco musis mat zapisanu GET premennu hantak vsak


tento zapis som uz skusala.... a nevlozi ziadny zaznam :(


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 15.04.2010 20:24

daj si to takto a napis nam chybu aku ti vyplulo:

Kód:
$sql = "INSERT INTO `tab2` (`ID`, `meno`) " .
"VALUES ('3', '".$_GET[$q_num]."' )";
$vysledek = mysql_query($sql) or die( mysql_error() );


stlpec id je vacsinou auto_increment. Ak, tak samozrejme id by si vkladat nemala :) .


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.03.10
Prihlásený: 19.04.13
Príspevky: 65
Témy: 26
Príspevok Napísal autor témyOffline : 18.04.2010 18:55

uz sa mi to podarilo opravit ;)

teraz mam ale problem s casom... potrebujem zapisat cas zobrazenia a cas odoslania... cez $timestamp; mi to ale nejde... hadze mi len nuly...

Kód:
$sql = "INSERT INTO `bubu` (`ID`, `meno`,`cas1`,`cas2`) " .
"VALUES ('3', '".$odp."', NOW(), '".$cas2."' )";
$cas2=$timestamp;
$vysledek = mysql_query($sql) or die( mysql_error() );


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 18.04.2010 20:50

takto:
Kód:
$cas2=$timestamp;
$sql = "INSERT INTO `bubu` (`ID`, `meno`,`cas1`,`cas2`) " .
"VALUES ('3', '".$odp."', '".now()."', '".$cas2."' )";
$vysledek = mysql_query($sql) or die( mysql_error() );


po 1.
premennu $cas2 vkladas do retazca ktory je v premennej $sql, lenze vkladas ju tam este pred tym, nez si ju definovala cize sa vlozit do retazca prazdna hodnota takze do stlpca sa vlozi hodnota default.

po2.
predpokladam ze funkciu now() sisi definovala lebo taku nepoznam :) . pokial sisi ju nedefinovala, pouzi bud funkciu date( format_aky_potrebujes ) alebo time() pre aktualny unixovy cas. funkciu taktiez zapisuj do uvodzoviek ako premenne.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.03.10
Prihlásený: 19.04.13
Príspevky: 65
Témy: 26
Príspevok Napísal autor témyOffline : 18.04.2010 21:26

lenze ak to dam takto:

Kód:
$cas2=date("Y/m/d/h/m/i");
    $sql = "INSERT INTO `bubu` (`ID`, `meno`,`cas1`,`cas2`) " .
"VALUES ('3', '".$odp."', '".date("Y/m/d/h/m/i")."', '".$cas2."' )";


tak sa mi do $cas2 ulozi ten isty cas ako ten co odoslem cez date("Y/m/d/h/m/i"). A ja potrebujem v podstate odoslat udaj ako dlho bola stranka zobrazena.


Offline

Čestný člen
Čestný člen
PHP a MYSQL

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 18.04.2010 21:31

1daemon1
Predpokladam, ze o SQL fcii NOW() si este nepocul, ze.
zdeniatqo
Ak potrebujes cas, ako dlho bola stranka zobrazena, ukladaj si niekam (napr. do session) cas posledneho zobrazenia, idealne z time(). V SQL potom pouzijes time() - $cas_poslednej_navstevy.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.03.10
Prihlásený: 19.04.13
Príspevky: 65
Témy: 26
Príspevok Napísal autor témyOffline : 01.05.2010 23:16

Ďuri: dakujem za radu, to session mi pomohlo....

ale pokial som to mam na lokalnom serveri, tak vsetko ide ako ma.... ked to ale nahodim na net, nezapisuje to spravne do databazy a vyhadzuje hlasku :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/web/index.php:8) in /home/web/index.php on line 316

session mam zapisane takto:

Kód:
session_start();
session_register("id");
session_register("cas");
session_register("cas1");
session_register("stranek");
session_register("log");
session_register("opakovani");


kde mam chybu? resp. chyba mi tam nieco?
dakujem :rolleyes:


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 02.05.2010 0:19

Veď ti tam presne píše, aký problém nastal. A aj na tomto fóre sa o tom probléme písalo už veľmi veľa krát. Takže si prečítaj tú chybovú hlášku a potom prípadne pohľadaj na fóre, čo sa s tým dá robiť.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.03.10
Prihlásený: 19.04.13
Príspevky: 65
Témy: 26
Príspevok Napísal autor témyOffline : 02.05.2010 10:26

uz som to nasla.... session_start(); stacilo dat uplne na zaciatok....


Odpovedať na tému [ Príspevkov: 17 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. PHP programátor - PHP, MySQL, jQuery,X)Html/CSS

v Ponuka práce

0

1300

02.05.2011 12:08

magicmedia Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php ->mysql ->php Help.zoradit

v PHP, ASP

4

585

20.06.2009 12:44

KViki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php,mysql strankovani

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

32

2330

28.08.2009 17:21

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP - MySQL - vyhladavanie?

v PHP, ASP

5

876

20.03.2010 6:24

rooobertek Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. PHP, MySQL koder

v Ponuka práce

1

896

12.07.2010 19:50

Murtagh Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. mysql, php - pripojenie

v PHP, ASP

2

426

28.06.2012 18:06

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php+apache+mysql

v Ostatné

13

1293

06.07.2009 11:37

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP a MySQL

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

30

2128

12.01.2009 13:09

jtomcik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MySQL a PHP

v Databázy

1

697

03.04.2011 8:09

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem PHP, MySQL

v PHP, ASP

11

496

17.05.2010 12:07

ricco24 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP, MySQL programator

v Ponuka práce

0

783

23.10.2010 11:21

mondzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP a MYSQL

v PHP, ASP

4

597

10.06.2011 23:12

Sunnynko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP - MySQL - JSON

v PHP, ASP

17

408

05.05.2020 19:05

jumper Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP + MYSQL inzercia

v PHP, ASP

21

1854

02.09.2007 18:51

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MySQL a PHP

v Databázy

9

862

27.12.2015 0:33

Werus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Programátor PHP/MySQL

v Ponuka práce

0

834

23.10.2010 17:06

brownsro1 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra