vytahovanie z mysql tabuliek

Programovacie jazyky, rady, poradňa...
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

vytahovanie z mysql tabuliek

Príspevok od používateľa tomikaco »

caute, som v tomto zaciatocnik a potrebujem radu .. poviem to vseobecne, mam na webe viacero sekcii a do kazdej z nich si moze uzivatel vytvorit svoj profil a dat mu aj nazov .. ja potrebujem spravit nejaky panel "Moje profily:" kde by sa zobrazovali pre kazdeho uzivatela jeho profily + v ktorej sekcii to ma .. teda nejak takto .$nazovsekcie.:.$nazovprofilu. .. v tabulke mam tieto polia "ID_profilu", "nazovprofilu", "bodyprofilu", "skratkaprofilu", "hesloprofilu", "avatarprofilu", "rankprofilu", "ID_sekcie", "webprofilu", "popisprofilu" .. vsetko sa zadava pri formulari, vyznacil som tie, ktore su asi pre toto najdolezitejsie .. tak mohol by niekto spravit script ktory by vytahoval do tabulky pod sebou vsetky profily daneho uzivatela :) ? dakujem

//autoeditácia príspevku ( 02 Sep 2009, 15:20 )
alebo tak inak sa spytam .. ako vytiahnut z tabuliek nejaku hodnotu a potom ju do PHP vypisat alebo priradit nejakej premennej ?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

$bla = mysql_query("select stlpec from tabulka where podmienka");
$hodnota = mysql_fetch_array($bla);
echo $hodnota[0];
ono ale aj záleží čo vyťahuješ (ak iba jednú hodnotu netreba ti pole, ak niečo iné lepšie by bolo do objektu..) a od toho záleží aj výpis
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

Príspevok od používateľa tomikaco »

diky, tak som to aj pisal, len som nedal pri vypisovani za hodnotu [0]

a ked chcem vytiahnut viacero hodnot ako je to pls :oops: ? myslim uz ten vystup v PHP
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

čo ty chápeš tým "viacero hodnôt"? Viac riadkov, alebo viac stlpcov?
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

Príspevok od používateľa tomikaco »

no viacero hodnot pre tu istu premennu v SQL .. cize stlpce
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

tak druhý stlpec vypíšeš cez $hodnota[1], tretí cez $hodnota[2] a tak ďalej. Samozrejme že ich musíš ale pridať aj do query za select
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

Príspevok od používateľa tomikaco »

prepac, myslel som riadky :oops:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

$bla = mysql_query("select stlpec from tabulka where podmienka");
while($hodnota = mysql_fetch_array($bla)){
   echo $hodnota[0];
}
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

Príspevok od používateľa tomikaco »

diky moc, vsetko funguje ako ma :) len jedna otazka este, ked mam nejaky cas zapisany v tabulkach nejak takto "1252066968" (asi hexadecibalne) a je to VARCHAR, ako to vypisem v nejakom ludskom formate ? vela skriptov z tej tabulky ten cas vytahuje a vypisuje ho vo formate d.m.r h:m , aj som pozeral ich zdrojak ale nejak mi to nejde
refr0
Star
Star
Príspevky: 521
Registrovaný: 26 nov 2005, 10:55
Bydlisko: Trenčín
Kontaktovať používateľa:

Príspevok od používateľa refr0 »

radsej si vytvor tabulku s parametrom datetime (date,time) a bude sa ti to aj lepsie podla toho triedit, formatovat....

//autoeditácia príspevku ( 04 Sep 2009, 14:49 )
co sa tyka tvojej otazke s tym "1252066968" tak jednoducho to prevedies cez funkciu date ...napr

Kód: Vybrať všetko

echo date('d.m.Y H:i','1252066968');
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

Príspevok od používateľa tomikaco »

diky funguje to :) no mam este jeden dost zavazny problem, ze pri zapisovani do tabuliek mi vypisuje error Duplicate entry 'hodnota' for key 2 .. prvy riadok s tou hodnotou mi zapise v pohode, ale dalsi riadok uz zapisat nechce .. tu je ten prikaz

Kód: Vybrať všetko

MySQL_Query("INSERT INTO blabla VALUES ('0', '".$userdata['user_id']."', '0', '123456789123', 'gid', '0', '".$popis."');");
a tabulka vyzera takto

Kód: Vybrať všetko

    	id  	bigint(20)  	  	  	 	auto_increment  	     	     	     	     	     	     	 
	kto 	varchar(255) 		 			 	 	 	 	 	 	
	komu 	varchar(255) 		 	0 		 	 	 	 	 	 	
	cas 	varchar(12) 		 			 	 	 	 	 	 	
	co 	varchar(255) 		 			 	 	 	 	 	 	
	id_l	varchar(200) 		 			 	 	 	 	 	 	
	id_k 	varchar(255) 	
neviete kde by mohol byt problem ?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

niektorý stlpec máš nastavený na unikátne hodnoty (nemôžu byť dve rovnaké). To čo si napísal moc nestačí, daj kompletný export štruktúry tej tabuľky, treba vedieť na čo máš nastavený primárny klúč
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

Príspevok od používateľa tomikaco »

diky, som si nevsimol ze som mal na ten stlpec nastavene unikatne hodnoty, bolo to v tom .. inak PRIMARY mam na id, kde je auto increment .. neviem ani co to presne znamena, snad to nebude robit nejake problemy
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

tak nevedieť čo je primárny klúč a pokúšať sa programovať niečo s databázami, to je sila :)
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

podmienka if

Príspevok od používateľa tomikaco »

vsetko co viem viem z toho, co som si sam vyskusal (no a z toho co mi tu poradili ;)) .. nikto ma to neucil, necital som ziadne navody .. jedine co tom viem je to, ze je to proste nieco ako ID, ktore je pri kazdom riadku unikatne

//autoeditácia príspevku ( 30 Sep 2009, 16:28 )
chcel by som sa spytat ako napisat takuto podmienku spravne .. $a==0 OR $a==1 AND $b==0 OR $b==1 .. teda slovne povedane, "a" sa musi rovnat 0 alebo 1 a zaroven "b" sa musi rovnat 0 alebo 1 .. napriklad podmienku by splnovalo $a==0 AND $b==1 alebo $a==1 AND $b==1 .. a mam tam tych podmieniok viac, preto sa pytam ci sa taketo nieco vobec da zapisat do jednej podmienky ?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

musíš to uzátvorkovať, takže ..($a==0 OR $a==1) AND ($b==0 OR $b==1)..
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

Príspevok od používateľa tomikaco »

dakujem, ale nejak mi to nejde .. teda akokeby tu podmienku stale splnalo, aj ked splnena nie je a ten kod sa vzdy vykona .. nevies v com moze byt chyba ? tu je podmienka

Kód: Vybrať všetko

if (($H==$DhH[0] OR $DhH[0]==0) AND ($D==$HhD[0] OR $HhD[0]==0) AND ($L==$PhL[0] OR $PhL[0]==0) AND ($P==$LhP[0] OR $LhP[0]==0)) {}
dal som si tu podmienku vypisat cez echo a je teda jasne, ze nie je splnena, ale ten kod co je v nej sa vzdy vykona ..

(trv==ces OR ces==0) AND (trv==0 OR 0==0) AND (ces==0 OR 0==0) AND (ces==trv OR trv==0)


este ma tak napadlo, nemoze byt problem v tom, ze tie hodnoty co taham z databazy su VARCHARY a ja ich porovnavam s 0 ?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Za istých okolností to problém byť môže. Prečo tam máš VARCHAR keď tam potom zisťuješ nejaké číslo? (prečo napr. nepoužiješ prázdny reťazec, alebo to neporovnávaš namiesto s číslom s nejakým reťazcom)
tomikaco
Medium Expert
Medium Expert
Príspevky: 110
Registrovaný: 27 jan 2008, 21:02

Príspevok od používateľa tomikaco »

tak lebo som sa este nestretol s problemom pouzivanim cisiel ako VARCHAR .. ale teraz ma napada, ze asi je blbost porovnavat nejaky VARCHAR (vlastne znak), ktory php berie ako nejaky text bez hodnoty, s ciselnou hodnotou

takze dik, bolo to v tom a s tym prazdnym retazcom to uz ide ako ma :)
Napísať odpoveď