Autor Zpráva
Jeeff
Profil
Dobrý den, vytvářím aplikaci /PHP, DB MySQL/.Mám seznam klientu a potřebuji pomoci s tříděním obrázků a načítání .
Celý seznam je seznam zákazníků a každý zákazník má detailní kartu a na té kartě lze přidávat popis a návštěvy. ( nefungují obrázky a nevím, jak to udělat, abych měl správné obrázky a návštěvě a zákazníkovi).
A tedy ke každému zákazníkovi mám ID třeba (ID39 – v DB: cos_id), zákazník (ID 39 - má detail ID39 a každá návštěva entery_id 92 a detail má návštěvy. Obrázky se mi nepřiřazují správně dle zákazníka a dle návštěv.
Budu rád za návrh nebo pomoc ( zda už někdo něco nědělal atd).
Problém ( obrázky nejsou přiřazeny ke správnému ID ( vždy se zobrazí všechny všem zákazníkům) .
Cíl : ke každému zákazníkovi a ke každé návštěvě konkrétní fotografie ).
A jak udělám , abych fotky přiřadil k zákazníkovi k ID39 ( výpis níže ) a napadlo mě, že bych se dotazoval na ID zákazníka nebo pole ARRAY ?
DB /costumers, entery, image_table/ v základ/ cos_id , detail zákazníka: entery_id , fotografie ? img_id, img_name, im_path, NEVÍM, jak to programově doplnit, aby se mi ukládaly fotky k zákazníkovi a návštěvě. ( napadlo mě : 1 klient = 1 detail = proměnných návštěv ), ale jak dál, prozatím nevím. . .
Děkuji Vám, pokud by byl zájem rád dám i finanční odměnu za napsání a pomoc. Děkuji..
NAVRH :
---1-
      $insert_cos="insert into costumers (cos_name,cos_sure,cos_mobe,cos_emle,cos_city,cos_info,p_status)values('$costumer_name','$costumer_sure','$costumer_mobe','$costumer_emle','$costumer_city','$costumer_info','$status')";
            }
      $run_cos = mysqli_query($con, $insert_cos);
      if($run_cos){
--1-

--add-fotos soubor---
        $file_tmp = $_FILES["fileImg"]["tmp_name"];
        $file_name = $_FILES["fileImg"]["name"];
        $image_name = $_POST["img-name"];
        $file_path = "photo/".$file_name;
        $target_file = $file_path . basename($file_name);    
----
    $result = mysqli_connect($host, $uname, $pwd) or die("Connection error: ". mysqli_error());
                mysqli_select_db($result, $db_name) or die("Could not Connect to Database: ". mysqli_error());
                mysqli_query($result,"INSERT INTO image_table(img_name,img_path)
                VALUES('$image_name','$file_path')") or die ("image not inserted". mysqli_error());
                move_uploaded_file($file_tmp,$file_path);
----
nethor
Profil
Trochu se ztrácím při čtení otázky. Pomohl by srozumitelný popis kýženého výsledku.
1. v pojmech: klient == zákazník ? (tzn. costumer ?)
2. Jaká je spojitost mezi zákazníkem a návštěvou, kdo koho navštěvuje? ... nebo jde o návštěvy webu?
3. Tuším, že to co bude potřeba je porovnávací tabulka s IdCostumer i IdImage (ta v podstatě řeší zmíněné pole) + do 'image_table' přidat Id autoincrement

Abych mohl pomoci, potřeboval bych pochopit princip, záměr.
Jeeff
Profil
Dobrý den , máte pravdu , není to jasně napsané.
Nejdříve to popíšu. Kadernice ma seznam na webu , takovou evidenci zakazniku. Kadeřnice si zapíše zákazníka do seznamu a zapíše si první návštěvu (k tomu udělá 2 fotky před a po ostříhani. Další návštěva stejného zákazníka druhý řádek návštěve No.2 a k tomu opět fotky před a po. Tedy zákazník má ID 6 a k tomu první návštěva 1, 2 ,3 a k návštěvám texty a fotky . . No a já neumím přiřadit k tomu zákazníkovi návštěvy s fotkami. A teď:
Na webu po přihlášení se objeví základní přehled zákazníků. (Tvorím pro kadeřnici). Hlavní obrazovka bude obsahovat základní přehled tj. No.ID , Jméno,Příjmení,eml,telefon.(jeden řádek jeden zákazník) Na konci řádku Detail / Edit/ Smazat.
Po kliknutí na detail se zobrazí detailní stránka zákazníka. A zde se jsou detaily zákazníka, k tomu je jeden řádek s přidáním návštěvy (jeden řádek je jedna návštěva) ..Mám to na lokálním pc ,nemám na webu ,ale až budu doma , tak dám na web ,aby to bylo hned jasně. U babicky to nejde. Moc mi to nejde s popisem. Snad jsem to trochu priblizil. Dekuji vam za pomoc . Porad o tom premyslim, ten bod3 to bude asi ono. Tak a teď jen jak . Až to bude na webu dám vědět. Dekuji.
nethor
Profil
Takhle je to popsáno jasně ;)

Pokud bude jen jedna kadeřnice a u každé návštěvy jen dvě fotky, stačí 2 tabulky:

zakaznik (Id, Jmeno, Prijmeni, Telefin, Poznamka, ... Vše , co se týká čistě jen zákazníka)
navsteva (Id, IdZakaznik, DatumCas, FotoPred, FotoPo, Cena, Poznamka, ... ev. další, co se týká čistě jen návštěvy)

V detailu zákazníka s Id = $IdZakaznika zadáte dotaz na tab. navsteva (... where IdZakaznik = (int)$IdZakaznika ... ) a vyjedou všechny jeho návštěvy .
Jeeff
Profil
Dobrý den,
Děkuji za nasměrování a pomoc. Moc.



Týden po chvílích jsem to zkoušel , fotky mi to třídilo, ale zakaznik a návštěva, když bylo více návštěv, tak byly stejné fotky.
Vaše řešení je super dobré, musím na to přijít také, ale pro jistotu se podívejte na internet, dal jsem to na jeeff.php5.cz Bude to lepší na pochopení, já se moc dobře asi nevyjadřuji. Jak ale udělám to, že zakaznik / navsteva a bude více návštěv.
Např. ID 48 Zakaznik / ID 101 Navsteva, ID 100 Navsteva. / to musím mít primární klíč k Zákazníkovi z návštěv ?
V detailu Id Zakaznik se musim odkazovat na ID navsteva a IDfotky . Fotografii k ID Navsteva nahraju do DB , ale patrně se mi nepřiřadí.
Prostě nevím, jak to mám přiřadit Id = Id Zakaznik …… where Id Zakaznik … ( ID Fotos ) . Tak to asi předělám podle Vašeho. Ale chtěl bych to moje rozchodit.
mam
 $get_user = "select * from entery where entery_id='$user'";
$image_query = mysqli_query($result,"select img_name,img_path from image_table");
    while($rows = mysqli_fetch_array($image_query))
    {
        $img_name = $rows['img_name'];
        $img_src = $rows['img_path'];
nethor
Profil
Jeeff:
Chyba je tady:
$get_user = "select * from entery where entery_id='$user'";
a v dotazu "select img_name,img_path from image_table" chybí podmínka.
Znepřehledňují to nevhodně pojmenované proměnné, pak se dá snadno udělat logická chyba.

Na str. view_costumer.php?cos_id=48 by to mělo být nějak takto:

$IdCostumer =  $_GET["cos_id"]    ;
$EnteryQuery = "select * from entery where costumer_id=".(int)$IdCostumer." order by DatumCas desc"    ;
...
Pokud budou u každé návštěvy jen dvě fotky, image_table bych z toho pro zjednodušení úplně vyhodil.

Jestli mám pomoct, hoďte sem stukturu tabulek.
Jeeff
Profil
Dobrý den,
Děkuji za pomoc. Budu rád. Nemám s kým to probrat.
Chyby už vidím, co jste napsal. to je děs.
Udělal jsem Prtsc z DB. Některé věci jsem nevyužil a máte fakt pravdu , že
image_table opravdu nepotřebuji.
Postačí mi přidat k Zakaznikovi FotoPred a FotoPo. / v tabulce to je
název entery . Ještě to tam nemám, až dáte vědět, opravím.
Ale myšlenka puvodní byla, že přímo k dané návštěvě doplním fotky, jenže mám
jen jeden formulář na 1 fotku s popisem, tedy bych vkládal po sobě. Což, jak jsem
napsal nejde. Nevím, jak to budu vkládat do DB. Předchozí zcela využiju a opravím. Tabulky poslu.
Děkuji


Posílám obrázky z DB:
OBRAZEK
[img]jeeff.php5.cz/obrazek/db_image_table.png [/img]
[img]jeeff.php5.cz/obrazek/db-prehled.png [/img]
[img]jeeff.php5.cz/obrazek/db_entery.png [/img]
[img]jeeff.php5.cz/obrazek/db_costumer.png [/img]
Jeeff
Profil
Dobrý den,
zde návrh na opravu DB

Návrh celkový
Návrh tab1
Návrh tab2
nethor
Profil
Jo, tak nějak by to asi mohlo být.

Btw: spíš než screenshoty je lepší ukázat export struktury v SQL, např:

 CREATE TABLE `blockparam` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `IdBlock` int(11) NOT NULL,
  `IdParam` int(11) NOT NULL,
  `Name` text COLLATE utf8_czech_ci,
  `Value` text COLLATE utf8_czech_ci,
  PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
Tomášeek
Profil
Jeeff:
Moc nevím, jestli ta #8 je řešení, které sem dáváš k dispozici, nebo se ještě na něco ptáš. Bud více specifický. Pokud chceš pomoci s SQL dotazem, doporučuji místo screenů sqlfiddle.com, kde kromě struktury tabulek můžeš ukázat i vzorek dat k odtestování. Ne všichni jsme Kajmani, abychomm dokázali vymýšlet dotazy z hlavy bez možnosti vyzkoušení :-)


Jen ti doporučím, pokud není angličtina tvoje silná stránka, pojmenovávej raději česky (nebo si vem k ruce slovník). Bude vše přehlednější, nejen tady, ale i pro případné další lidi, kteří k projektu přijdou v budoucnu.

Myslím tím namátkově nesmysly jako costumer (a všechny cos_ prefixy), entery, cos_sure (příjmení), wr_desc (prodejní cena???), tims (čas???), work/works (práce vs. produkt?).
Jeeff
Profil
Dobrý den,
Všichni máte pravdu. Nemám to v Aj , mám nesmysl jeden vedle druhého. Půjdu to opravit. Přikládám stávající výpis SQL .
Tab1 :
CREATE TABLE `costumers` (
  `cos_id` int(10) NOT NULL,
  `cos_name` text NOT NULL,
  `cos_sure` text NOT NULL,
  `cos_mobe` varchar(15) NOT NULL,
  `cos_emle` text NOT NULL,
  `cos_city` text NOT NULL,
  `cos_info` text NOT NULL,
  `mobile` varchar(15) NOT NULL,
  `village` text NOT NULL,
  `p_status` text NOT NULL,
  `cos_address` text NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Tab2 :
CREATE TABLE `entery` (
  `entery_id` int(50) NOT NULL,
  `cos_id` int(50) NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `work` text NOT NULL,
  `works` text NOT NULL,
  `datu` text NOT NULL,
  `tims` text NOT NULL,
  `pro_desc` text NOT NULL,
  `FotoPred` longblob NOT NULL,
  `wr_desc` text NOT NULL,
  `FotoPo` longblob NOT NULL,
  `pro_cas` text NOT NULL,
  `price` int(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0