Re: 2 rady v PHP (podmienene formatovanie a overovanie zaznamov)

From: <misokonferencia (zavinac) centrum.sk>
Date: Thu, 21 Jul 2011 07:41:50 +0200
Srdecna vdaka obom za rady,


zrejme blba otazka (prakticky s PHP mam len zaciatocnicke skusenosti):
 
ja momentalne vkladam udaje cez formular do tabulky takto:
 
mysql_query("INSERT INTO `data` (`ID`, `IDcit`, `meno`, `priezvisko`, `typ`, `datum`, `cas`) VALUES (NULL, '$IDcit','$meno','$priezvisko','$typ', CURDATE(), CURRENT_TIMESTAMP)");
 
to ID mam ako autoincrement (neviem ci to ID je nevyhnutne potrebne :( )
IDcit - je cislo preukazu - jedinecne - neexistuju dva zhodne
 
Rozumiem ze Curdate tam mam zbytocne, staci timestamp? Z toho budem vediet neskor vytiahnut aj napr. mesacnu navstevnost?
 
Podla rad teda budem vkladat do dvoch tabuliek naraz - ak tomu dobre rozumiem? To IDcit totiz vkladam rucne (resp. bude sa snimat citackou) - input pole formulara.
 
Este raz dik a ospravedlnujem sa za mozno tupe otazky.
Vsetko dobre
sw
 
 
----

Dovolím si Kita ještě doplnit o pár maličkostí,
které mne napadly. Snad mě za to nikdo neukamenuje.

Dne 20.7.2011 23:01, Kit napsal(a):
> 2011/7/20  :
>> Mam vytvorenu jednu tabulku "tab" v mysql - v ramci ktorej ukladam data ako identifikacne cislo (ID), meno, priezvisko, datum prichodu, cas prichodu, typ navstevnika. Cele to ma fungovat ako statistika navstevnosti. Hruba konstrukcia mi uz funguje, avsak vyvstali dva problemy:
> Ta tabulka potřebuje 2 úpravy:
> - spojit datum a čas do jednoho sloupce typu TIMESTAMP. Ten
> automaticky doplní aktuální datum a čas.
> - Jméno, příjmení a typ návštěvníka přesuň do nové tabulky. Na původní
> místo dej jen ID_návštěvníka.
Ty údaje ze dvou vzniklých tabulek se pak spojí pomocí
jednoho selectu.
Tab1:  | ID   | Timestamp |
Tab2:  | IDN | Typ | Jmeno | Prijmeni |
Výpis by byl nějak takhle:
SELECT ID, Timestamp, Typ, Jmeno, Prijmeni FROM Tab1, Tab2
WHERE (ID=IDN)

Snad to takto bude fungovat.  ;-) ID v jedné a IDN v druhé
tabulce by se měly rovnat.
Pokud by bylo potřeba mít ty uživatelské údaje jen jednou
možná by se hodilo doplnit do Tab1 automatický identifikátor
nastavený
na autoincrement.
>> 1. Mal by som v ramci vypisu vykazovat ludi, ktori su "na navsteve" dlhsie ako 2 hodiny (ale nie vsetci, doleziti su len ti, ktori su ako "druhi" v ramci volby v drop-down menu  formulara  -> "typ navstevnika" ). Hodilo by sa mi napr. aby takimto navstevnikom sa po 2 hodinach zmenila farba podfarbenia riadku v konecnom vypise. (napr. by riadok vypisu zcervenal)
> Pomůže funkce MySQL:
> timestampdiff(HOUR, timestamp,now())>=2
To bych možná udělal až při formátování výpisu z DB.
Udělej si v PHP podmínku. Normálně zapíšeš data pomocí
 Vypis
Když bude rozdíl větší než 2 hodiny a typ bude souhlasit
tak Vypis
Ten "cerveny-radek" si musíš nadefinovat v css.
>> 2. Navstevnici sa opakuju a zatial je vsetko nastavene tak, aby sa udaje po kazdy raz pisali.. bolo by mozne spravit nieco take, ze by zadanim ID (to ma kazdy navstevnik jedinecne) sa najprv overila jeho pritomnost v databaze a ak by sa nasiel zhodny zaznam, doplnili by sa prislusne udaje priamo do formulara, cim by sa nemuseli dopisovat rucne, ale len by sa natiahli a potom uz len odoslali?
>> sw
> V tom pomůže zmíněné rozdělení tabulek. Říká se tomu normalizace databáze.
Viz výše. Jde to automaticky. Uživatelé nemusí být
obtěžováni zadáváním ID.

Wiz

-- 
-----------------------------------------------------( reklama )-----
Vyhrajte Apple iPad 2 nebo Amazon Kindle 3 ve velke letni soutezi
http://mojeid.iinfo.cz/?utm_medium=text&utm_source=list-s&utm_campaign=moid
---------------------------------------------------------------------
-- 
-- Konference: SERVIS ------ Pravidla: http://pravidla.kab.cz/ -- 
-- Archiv, instrukce pro odhlaseni: http://internet.nawebu.cz/ -- 
-- Konference Internet Info, s.r.o. ----- http://www.iinfo.cz/ -- 
Received on 21. 07. 2011, 07:41 CEST

This archive was generated by hypermail 2.2.0 : 21. 07. 2011, 07:41 CEST