[ 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 | 26
NapísalOffline : 12.04.2010 18:26 | PHP a MYSQL

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
NapísalOffline : 12.04.2010 19:28 | PHP a MYSQL

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 | 30
Bydlisko: Bratislava
NapísalOffline : 13.04.2010 14:36 | PHP a MYSQL

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
NapísalOffline : 13.04.2010 15:24 | PHP a MYSQL

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 | 51
Bydlisko: Bratislava
NapísalOffline : 13.04.2010 15:55 | PHP a MYSQL

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 | 26
Napísal autor témyOffline : 13.04.2010 19:17 | PHP a MYSQL

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 | 26
Napísal autor témyOffline : 15.04.2010 18:40 | PHP a MYSQL

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
NapísalOffline : 15.04.2010 19:16 | PHP a MYSQL

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 | 26
Napísal autor témyOffline : 15.04.2010 19:22 | PHP a MYSQL

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
NapísalOffline : 15.04.2010 20:24 | PHP a MYSQL

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 | 26
Napísal autor témyOffline : 18.04.2010 18:55 | PHP a MYSQL

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
NapísalOffline : 18.04.2010 20:50 | PHP a MYSQL

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 | 26
Napísal autor témyOffline : 18.04.2010 21:26 | PHP a MYSQL

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 | 34
Bydlisko: Brno
NapísalOffline : 18.04.2010 21:31 | PHP a MYSQL

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 | 26
Napísal autor témyOffline : 01.05.2010 23:16 | PHP a MYSQL

Ď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 | 0
NapísalOffline : 02.05.2010 0:19 | PHP a MYSQL

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 | 26
Napísal autor témyOffline : 02.05.2010 10:26 | PHP a MYSQL

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


 [ Príspevkov: 17 ] 


PHP a MYSQL



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

1362

02.05.2011 12:08

magicmedia

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

php ->mysql ->php Help.zoradit

v PHP, ASP

4

655

20.06.2009 12:44

KViki

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

PHP + MYSQL inzercia

v PHP, ASP

21

1895

02.09.2007 18:51

neopagan

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

MySQL a PHP

v Databázy

9

925

27.12.2015 0:33

Werus

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

PHP - MySQL - JSON

v PHP, ASP

17

472

05.05.2020 19:05

jumper

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

MySQL + PHP + články

v PHP, ASP

7

673

17.10.2014 18:30

Jarvix

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

Programátor PHP/MySQL

v Ponuka práce

0

868

23.10.2010 17:06

brownsro1

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

PHP a MySQL

v PHP, ASP

4

422

23.09.2013 23:50

shaggy

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

PHP+MySQL, počítadlo

v PHP, ASP

3

851

09.07.2007 18:19

Tominator

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

Spocitanie php+mysql

v Databázy

3

728

23.03.2009 13:01

GoodWill

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

mysql + php problem

v PHP, ASP

3

732

21.04.2007 14:08

lukasmakac

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

mysql, php - pripojenie

v PHP, ASP

2

471

28.06.2012 18:06

Ďuri

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

PHP - MySQL - vyhladavanie?

v PHP, ASP

5

914

20.03.2010 6:24

rooobertek

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

2396

28.08.2009 17:21

stenley

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

MySQL a PHP

v Databázy

1

744

03.04.2011 8:09

Ďuri

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

960

12.07.2010 19:50

Murtagh



© 2005 - 2024 PCforum, edited by JanoF