Autor Zpráva
robin
Profil *
Dobrej jsem celkem novy v php a potřeboval bych script ktery by měl vypadat asi takto


$sql = 'CREATE TABLE `.$_SERVER['REMOTE_ADDR'].` ('
        . ' `id` INT(255) NOT NULL'
        ' `nazev` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL'
        ' `cena` INT(255) NOT NULL'
        ' `popisek` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL'
        . ' )';

myslel jsem že by to mohlo fungovat ale nějak se tomu nechce už je to po připojení do databáze. S tím problem není mám ho v externim souboru a u ostatních stránek se připojuje bez problemu…

Moderátor panther: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Radek Cvek
Profil
Je tam někde v tom skriptu i mysql_query($sql); ?
snake.aas
Profil *
$_SERVER['REMOTE_ADDR'] vrací ip adresu... v názvu tabulky by neměly být tečky... teda jestli si správně pamatuju...
Radek Cvek
Profil
taky je tam nepořádek s uvozovkami
Radek Cvek
Profil
<?php
  ...
  // připojení
  ...
  $name = $_SERVER['REMOTE_ADDR'];
  $name = str_replace(".", "_", $name);
  
  $sql = "CREATE TABLE ".$name." (
       id INT(255) NOT NULL,
       nazev VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL,
       cena INT(255) NOT NULL,
       popisek VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL
       )" or die(mysql_error());
  
  mysql_query($sql);
?>
Tori
Profil
robin:
Jen ze zvědavosti: Čeho chcete dosáhnout, resp. na co je tabulka, pojmenovaná podle IP? Nedalo by se použít jen jednu tabulku a přidat do ní sloupeček ip char(31) ?
robin
Profil *
potřebuji každé přidělit originalní jméno a nechtěl jsem jen přiřazovat o jedno vyšší než předchozí protože se do te tabulky bude zapisovat ruzny počet věcí tak potřebuji pro každeho tabulku teda tak mi to přijde nejlepší.... ano
mysql_query($sql);
tam bylo... ani po upravách ani po zkopírování kódu nechce fungovat nejdivnější je že ani nenahlásí chybu...
Radek Cvek
Profil
Já jsem tu svoji úpravu zkoušel a šla mi - osobně to vždycky testuji tak, že dám echo $sql; a pokud tam nevidím zjevnou chybu, můžu ještě vložit ten vypsaný příkaz do phpMyAdmina a zkontrolovat, jestli se to provede nebo to něco nenapíše.
robin
Profil *
Nechápu ale někde jsem tam musel mit nějakou chybu i po kopírování ale nemohl byt středník či tak něco to by mi vypsalo i přesto že i v phpMyAdmin vše ok i echo bylo v pořadku stále nefunkční... každopádně po vytvoření nového souboru a napsání všech věcí znovu to funguje takže díky..
Alphard
Profil
robin:
Berete v úvahu, že více lidí může mít stejnou IP a někomu se může naopak měnit?
Dynamický počet tabulek obvykle ukazuje na chybný návrh databáze.
Spectator
Profil
Zamyslel bych se nad strukturou tabulek trochu víc, toto je nejspíš dost nešťastné řešení.
candiess
Profil
asi bych toto řešil přes SID.. zkus o tom pouvažovat, IP není nejlepší řešení :)
robin
Profil *
já vím že je to nešťastné řešení přemyšlel jsem dlouho jak to zapisovat jen do jedné databaze, ale představte si e-shop bez přihlašování a potřebuji nějakym způsobem udělat košík, toto byla jediná věc která mě napadla jak ho udělat jelikož nikdy nevím kolik věcí si dotyřny koupí nemohu udělat dostatečny počet sloupců v jedné tabulce... jestli mate někdo napad jak to vyřešit efektivněji sem s ním budu jedině rad...
jenikkozak
Profil
robin:
potřebuji nějakym způsobem udělat košík
Obsah košíku můžeš udržovat v sessioně. Až uživatel zadá osobní data, ulož je do tabulky s uživateli. Vybrané položky ulož do zvláštní tabulky, která bude mít dva sloupečky - id uživatele a id produktu. Například.
candiess
Profil
měls říct rovnou že jde o eshop, jáosobně svuj eshop tedka dodělávám a věř že jsem to měl přes tabulky, ale začinály se mi hromadit, tak jsem udělal přes session a nemám problem..:)

např: Přidání produktu
$_SESSION['kosik'][$id] = $pocet_kusu;

viz: PHP Vrána od něho to vše mám a jsem spokojen :)
Alphard_
Profil *
robin:
jelikož nikdy nevím kolik věcí si dotyřny koupí nemohu udělat dostatečny počet sloupců v jedné tabulce
Což by bylo také naprosto špatně. Přečtěte si něco o normalizaci databáze. Nemůžeze tam data náházet, jak vás napadne, a čekat, že to bude dobře fungovat.
Eshop je náročná věc, na učení vhodná jen k tomu, abyste ji po dokončení vyhodil...
robin
Profil *
candiess: díky takhle to bude mnohem lepší i jednoduší
Alphard_: já vím jak je to náročné ale zatím jsem neměl problem jen s košíkem který už mám také ale stejně díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0