Uprava vice dat v databazi jednim prikazem – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Uprava vice dat v databazi jednim prikazem – PHP – Fórum – Programujte.comUprava vice dat v databazi jednim prikazem – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
tribalcz0
Super člen
25. 7. 2013   #1
-
0
-

ahoj potrebuji aktualizovat nekolik bunek v databzi pomoci jedineho prikazu UPDATE pouzivam tento kod  


            $sql = mysql_query("UPDATE kontaktni_informace set jmeno='".$jmeno."' AND telefon='".$telefon."' AND email='".$email."' AND adresa='".$adresa."' AND skype='".$skype."' WHERE id='".$_SESSION["id"]."'") or die(mysql_error());

ale nic to neudela resp zadnou chybu to nevyplivne a script se provede ale to je tak vse zmena neprobehne vim mohl bych kazdou bunku aktualizovat samostatnym prikazem tj. 

$sql = mysql_query("UPDATE kontaktni_informace SET jmeno='".$jmeno."'") or die (mysql_error());
$sql = mysql_query("UPDATE kontaktni_informace SET telefon='".$telefon."'") or die (mysql_error()); atd.

ale prijde mi to zbytečně komplikované psat 4x temer stejny kod nehlede na to že server bude muset zpracovat o 3 prikazy navic

Nahlásit jako SPAM
IP: 37.188.228.–
Reklama
Reklama
KIIV+42
God of flame
25. 7. 2013   #2
-
0
-

jdes na to dobre, jen se nedava AND ale carka

$sql = mysql_query("UPDATE kontaktni_informace set jmeno='".$jmeno."', telefon='".$telefon."', adresa='".$adresa."', skype='".$skype."' WHERE id='".$_SESSION["id"]."'") or die(mysql_error());
Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
tribalcz0
Super člen
25. 7. 2013   #3
-
0
-

#2 KIIV
aha diky a kdy se pouziva AND myslel sem ze u tohodle nebo u  polozky WHERE tj. 

WHERE id ='"$id"' AND login ='".$login."'


nebo tam je taky carka

Nahlásit jako SPAM
IP: 37.188.228.–
z_moravec
~ Redaktor
+3
Posthunter
25. 7. 2013   #4
-
0
-

#3 tribalcz
Ve where se používá pro spojování podmínek AND (příp. další operátory), ve výčtu položek pro SET se používá čárka.

Nahlásit jako SPAM
IP: 147.251.29.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
tribalcz0
Super člen
25. 7. 2013   #5
-
0
-

aha tak uz jsem doma diky

Nahlásit jako SPAM
IP: 37.188.228.–
KIIV+42
God of flame
25. 7. 2013   #6
-
0
-

AND neni  "a" ve smyslu jak ho znas treba z cestiny...  je to logicky operator:  neco je pravda "a zaroven" neco dalsiho je tez pravda -> pak je vysledek pravda

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
peter
~ Anonymní uživatel
2551 příspěvků
25. 7. 2013   #7
-
0
-

Priste mozna se nejdriv podivat do mysql manualu nebo google, jak se to pise :)

Nahlásit jako SPAM
IP: 193.84.207.–
tribalcz0
Super člen
25. 7. 2013   #8
-
0
-

ok ale mam problem stale to nefunguje dam sem cely script

<?php
    if(isset($_POST['edit'])) {
        $uid_u = HTMLSpecialChars($_POST['uid'], ENT_QUOTES);
        $uid =  mysql_real_escape_string($uid_u);
        $jmeno_u = HTMLSpecialChars($_POST['jmeno'], ENT_QUOTES);
        $jmeno =  mysql_real_escape_string($jmeno_u);
        $telefon_u = HTMLSpecialChars($_POST['telefon'], ENT_QUOTES);
        $telefon =  mysql_real_escape_string($telefon_u);
        $email_u = HTMLSpecialChars($_POST['email'], ENT_QUOTES);
        $email = mysql_real_escape_string($email_u);
        $adresa_u = NL2BR(HTMLSpecialChars($_POST['adresa'], ENT_QUOTES));
        $adresa =  mysql_real_escape_string($adresa_u);
        $skype_u = HTMLSpecialChars($_POST['skype'], ENT_QUOTES);
        $skype =  mysql_real_escape_string($skype_u);
        
        if($uid=="") {
            echo '<div class="error">Nevyplnily jste pole <strong> Uid</strong>.</div>';
        }
        elseif ($uid!=$_SESSION['uid']) {
            echo '<div class="error">Vámi zadané <strong>Uid</strong> s <strong>Uid</strong> v databázi. </div>';
        }
        elseif ($jmeno=="") {
            echo '<div class="error">Nevyplnily jste pole <strong>jméno</strong>.</div>';
        }
        elseif ($telefon=="") {
            echo '<div class="error">Nevyplnily jste pole <strong>telefon</strong>.</div>';
        }
        elseif ($email=="") {
            echo '<div class="error">Nevyplnily jste pole <strong>E-mail</strong>.</div>';
        }
        elseif ($adresa=="") {
            echo '<div class="error">Nevyplnily jste pole <strong>adresa</strong>.</div>';
        }
        elseif ($skype=="") {
            echo '<div class="error">Nevyplnily jste pole <strong>skype</strong>.</div>';  
        } else {
            $sql = mysql_query("UPDATE kontaktni_informace set jmeno='".$jmeno."', telefon='".$telefon."', email='".$email."', adresa='".$adresa."', skype='".$skype."' WHERE id='".$_SESSION["id"]."'") or die(mysql_error());
        }
    }
    
    if($_SESSION["login"] == true && $_SESSION["opravneni"] == "admin"){
        $data=mysql_query("select * from kontaktni_informace ORDER BY id");
        $zaznam=MySQL_Fetch_Array($data);
        echo'
        <form action="#" method="post">
            <table>
                <tr><td><label>Zadejte vaše Uid: </label></td><td><input type="text" name="uid" size="30" /></td></tr>
                <tr><td><label>Jméno: </label></td><td><input type="text" name="jmeno" value="'.$zaznam["jmeno"].'" size="30" /></td></tr>
                <tr><td><label>Telefon: </label></td><td><input type="text" name="telefon" value="'.$zaznam["telefon"].'" size="30" /></td></tr>
                <tr><td><label>E-mail: </label></td><td><input type="text" name="email" value="'.$zaznam['email'].'" size="30": /></td></tr>
                <tr><td><label>Adresa: </label></td><td> <textarea name="adresa" cols="40" rows="1">'.$zaznam["adresa"].'</textarea></td></tr>
                <tr><td><label>Skype: </label></td><td><input type="text" name="skype" value="'.$zaznam["Skype"].'" size="30" /></td></tr>
                <tr><td colspan="2"><input type="submit" name="edit" value="Editovat" /></td></tr>
            </table>
        </form>';
    }
?>
      
Nahlásit jako SPAM
IP: 37.188.228.–
KIIV+42
God of flame
25. 7. 2013   #9
-
0
-

#8 tribalcz
a co presne nefunguje?

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
tribalcz0
Super člen
25. 7. 2013   #10
-
0
-

no kontrolou to projde uspesne kdych do echa vypisu vysledek tak ochrany proti tagum atd funguji uspesne to dojde az k prikazu sql ktery ma upravena data odeslat do DB ten projde taky protoze my to nevyplivne zadnou dalsi chybu ale data v db se neupravy nazev tabulky je spravny to sem opakovane kontroloval asi tak 6x a nazvy bunek tez

Nahlásit jako SPAM
IP: 37.188.228.–
KIIV+42
God of flame
25. 7. 2013   #11
-
0
-

vypis si ten sql dotaz jak jde uz do databaze a pak ho otestuj primo v mysql ..

treba se snazis editovat jiny id nez cekas... nebo chces

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
P
~ Anonymní uživatel
193 příspěvků
25. 7. 2013   #12
-
0
-

1. Nevadi, ze na zacatku mas $_SESSION['uid'] a v sql prikazu $_SESSION["id"] ?

2. Pokud si nejsi jisty, ze uzivatele budou vyhradne zeny, je lepsi misto "Nevyplnily" psat "Nevyplnili". Ja bych se jako uzivatel strankou s pravopisnymi hrubkami vubec nezabyval.

3. Jako uzivatel bych rozhodne nevedel jak mam reagovat na informaci "Vámi zadané Uid s Uid v databázi."

Nahlásit jako SPAM
IP: 85.93.116.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 39 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý