Obsah fóra
PravidláRegistrovaťPrihlásenie




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

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

Registrovaný: 17.02.14
Prihlásený: 18.01.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 31.05.2016 10:39

Kód:
<?php if(isset($_POST['prichod'])){
 
    $meno = mysql_query("select * from user order by meno") or die(mysql_error());
    $meno_log = mysql_query("select * from user_log order by meno") or die(mysql_error());
    $meno_log['meno'] == $meno['meno'];
     $date = date('Y-m-d H:i:s');
mysql_query("INSERT INTO `user_log`  (`login_date`,`meno`) VALUES ('$date','$meno')");
}?>

Ahojte, robím na projekte dochádzkového systému, kde mám 2 tlačidlá, jedno pre príchod a druhé pre odchod po kliknutí sa do DB zapíše dátum, áno, to funguje, ale namiesto mena mi do databázy napíše niečo ako Resource #id5. Neviem prečo. Mám tabuľku user, kde je uložené meno a heslo používateľa, ID.
V druhej tabuľke user_log mam login_date, logout_date a id logu, ale potrebujem tu importovať aj meno a ID z predchádzajúcej tabuľky a neviem ako nato. Skúšal som mnoho tutoriálov, ale nedokázal som si pomôcť. Ďakujem za každú radu, prípadne funkciu


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 : 31.05.2016 11:15

Kód:
$meno = mysql_query("select * from user order by meno") or die(mysql_error());
nevráti meno, vráti len nejaký objekt, pomocou ktorého sa dá k tomu menu dostať (a keď sa ten objekt pokúsiš zobraziť ako text, vypíše sa práve to Resource #id)


Offline

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

Registrovaný: 17.02.14
Prihlásený: 18.01.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok Napísal autor témyOffline : 31.05.2016 11:41

teda by som mal meno vypísať na základe ID? alebo .. neviem


Offline

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

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 31.05.2016 12:50

Tak za prvé, žiadnu selekciu tam nemáš. Obe query vždy vrátia všetky záznamy z tabulky a toť vše.
Za druhé, mysql_query vráti vždy objekt, alebo pole, z ktorého si musíš danú informáciu dostať. Použi napr. var_dump na preskúmanie toho, čo ti to vráti.

No a za tretie, toto
Kód:
$meno_log['meno'] == $meno['meno'];

to má robiť čo?

A ešte za štvrté, mysql pozná hodnotu CURRENT_TIMESTAMP, alebo NOW(), podľa verzie mysql. Nemusíš tam dávať dátum z php. A ešte lepšie je nastaviť to ako DEFAULT hodnotu pre stĺpec a nemusíš to riešiť vôbec.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

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

Registrovaný: 17.02.14
Prihlásený: 18.01.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok Napísal autor témyOffline : 31.05.2016 22:21

Už som to urobil a funguje to. Mám ale ďalší problém, nechcem zakladať ďalšiu tému. Potrebujem vypísať jednotlivo pre každého používateľa jeho príchody, aby mal zoznam, kedy prišiel do práce v uplynulých dňoch. Ale nefunguje mi to. Skúšal som to cez arraye, mysql fetch a mnoho iných funkcií, s while atď, ale stále mi pre každého vypíše iba jeden záznam. Vedeli by ste mi poradiť, kde je chyba? Var_dump mi taktiež vráti iba prvý záznam, ktorý bol kedy pre to ID používateľa zistený a tam akoby zastane.
Kód ako taký je postavený dobre, ak som tam niečo pozmenil, razom mi to dávalo hodnoty typu Resource ID atď.
Zapis datumu a mena do databázy

Používam 2 tabuľky:
USER --> meno, heslo, id(auto)
USER_LOG --> id, idlogu(auto), datum prihlásenia, dátum odhlásenia vrámci appky.
id(auto) a id sú totožné podľa používateľa a jeho session id.
Zapis datumu a mena do databázy
Zapis datumu a mena do databázy
Zapis datumu a mena do databázy
Zapis datumu a mena do databázy
script zo súboru, ktorý slúži na výpis prihlásení podľa jeho ID: (vráti iba jeden záznam)
Kód:
  <?php

if(!isset($_SESSION['uid'])){
   echo "Musíš byť prihlásený!";
}else{ ?>
   
<div id=tabulka><center>
<script>
function startTime() {
    var today = new Date();
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    m = checkTime(m);
    s = checkTime(s);
    document.getElementById('txt').innerHTML =
    h + ":" + m + ":" + s;
    var t = setTimeout(startTime, 500);
}
function checkTime(i) {
    if (i < 10) {i = "0" + i};  // add zero in front of numbers < 10
    return i;
}
</script>
<font size=16 color=white><b><body onload="startTime()">
<div id="txt" ></div></b></font>
<?php $ID = ($_SESSION['uid']);
mysql_set_charset("utf8");
   $user_get = mysql_query("SELECT * FROM `user` WHERE `id`='".$_SESSION['uid']."'") or die(mysql_error());
$user = mysql_fetch_assoc($user_get);
$meno=$user['meno'];
 $krstnemeno=$user['krstnemeno'];
  $priezvisko=$user['priezvisko'] ?>
<h2>Vitajte, pán/pani <?php echo $krstnemeno?>&nbsp; <?php echo $priezvisko; ?> , tu si môžete prezrieť vaše príchody do práce</h2></center>
 <?php  mysql_query("SELECT * FROM `user_log` WHERE `id`='".$ID."'") or die(mysql_error());     
 $login_get = mysql_query("SELECT * FROM `user_log` WHERE `id`='".$_SESSION['uid']."'") or die(mysql_error());
$login = mysql_fetch_assoc($login_get);
$zaznamloginu= $login['login_date'];
echo  $zaznamloginu;
   
     
       

 } ?>   

 
  <a href="poprihlaseni.php">
    <button type="button" align=left class="xmiddle green button round">Späť</button>
</a>

Ďakujem za každú radu. Som fakt bezradný a neviem sa ďalej pohnúť. Skúšal som 2 hodiny meniť hodnoty, pretáčať ich, skúšať rôzne finty a nejde to.. Ďakujem


Offline

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

Registrovaný: 06.02.14
Prihlásený: 19.01.18
Príspevky: 443
Témy: 9
Príspevok NapísalOffline : 01.06.2016 8:56

zacni tym, ze si urobis poriadok v kode.
miesas php, html, styly a javascript v jednom subore... hroza pozerat a zachvilu sa ani ty v tom nebudes vyznat ak sa este vyznas

1. oddel php funkncu cast do samostatneho subory
2. javascript do samostatneho suboru. a podla mna by si ho tam ani nepotreboval, lebo to, na co vyuzivas, by sa dalo v php alebo priamo v mysql prikaze. nerozumies poriadne ani jednemu jazyku, tak sa vyhni ich miesaniu
3. robis jednu sql query 3krat a uplne zbytocne, raz by stacilo na ziskanie udajov
4. mysql_query sa uz nepouziva! je deprecated

Kód:
<font size=16 color=white><b><body onload="startTime()"><div id="txt" ></div></b></font>

nemyslis vazne,ze?
1. font sa uz nepouziva
2. tieto html atributy sa uz nepouzivaju
3. a urcite nemozu byt pred <body>
4. html elementy nemas pozatvarane, atributy nemaju uvodzovky
5. ako mozes uzavriet element predtym ako uzavries child element?
5. <center> sa nepouziva
6. pouzivaj spravnu indentaciu

a odpoved na tvoju otazku, ze preco mas iba jeden zaznam:
Kód:
$login_get = mysql_query("SELECT * FROM `user_log` WHERE `id`='".$_SESSION['uid']."'") or die(mysql_error());
$login = mysql_fetch_assoc($login_get);

treba iterovat, lebo $login_get obsahuje n-riadkov, alebo mysql_fetch_assoc spracuje iba jeden riadok do pola, tj ten prvy. ako to teda spravne pouzit: http://php.net/manual/en/function.mysql-fetch-assoc.php
a takisto - mysql_fetch_assoc je deprecated!


Offline

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

Registrovaný: 17.02.14
Prihlásený: 18.01.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok Napísal autor témyOffline : 01.06.2016 10:05

nedokážem to s tým mysql fetch assoc.. skúšal som všetky varianty a nejde to.


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 : 01.06.2016 13:33

Priamo v dokumentácii je príklad, v ktorom je ukázané, ako sa to používa mysql_fetch_assoc (a ako už bolo napísané tú funkciu mysql_fetch_assoc treba použiť v nejakom cykle, v tom príklade použili while)

PS: A ak chceš, aby ti nikto neporadil, tak "nejde to" je najlepší spôsob, ako to dosiahnuť.


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


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. vyber z databazy podla datumu

v Databázy

7

928

11.03.2010 21:38

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zápis do databázy

v PHP, ASP

10

569

21.12.2009 13:01

M1rcO_o Zobrazenie posledných príspevkov

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

v Redakčné systémy

2

437

21.01.2007 16:10

luko Zobrazenie posledných príspevkov

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

v PHP, ASP

6

522

26.10.2007 13:16

newboy1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Určenie zobrazenia dátumu a času nahraného z databázy

v PHP, ASP

6

422

01.05.2010 16:58

programmer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VYRIESENE] prosím o pomoc- zápis do databázy

v PHP, ASP

3

373

20.03.2009 10:05

korelat22 Zobrazenie posledných príspevkov

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

v Redakčné systémy

1

1189

13.05.2006 17:14

gumy Zobrazenie posledných príspevkov

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

v PHP, ASP

9

709

09.03.2010 16:46

stenley Zobrazenie posledných príspevkov

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

v PHP, ASP

8

499

15.01.2009 15:48

Tominator Zobrazenie posledných príspevkov

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

v Databázy

3

416

16.08.2013 14:47

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmizli používatelské mená

v Operačné systémy Microsoft

4

519

29.04.2012 15:02

Mego Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmena mena používateľa...

v Operačné systémy Microsoft

4

8335

27.10.2010 18:10

killer Zobrazenie posledných príspevkov

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

v Správy pre vedenie fóra

4

1069

17.04.2011 8:20

JakkubXXL Zobrazenie posledných príspevkov

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

v Operačné systémy Microsoft

3

675

15.12.2006 14:39

johny128 Zobrazenie posledných príspevkov

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

v Počítačové hry

5

2045

18.01.2008 10:53

Poki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmena používateľského mena

v Správy pre vedenie fóra

2

771

28.10.2012 20:32

cobr4in 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:  

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