NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Volání funkce pomoci tlacitka

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
michal Čepelák:25.6.2017 17:43

Zdravím,
jak zavolám function pomoci tlačítka v php?
Děkuji moc za radu

 
Odpovědět
25.6.2017 17:43
Avatar
Odpovídá na michal Čepelák
Wal De Mar-Lad:25.6.2017 17:54

Nijak. Ak to chceš riešiť čistým PHP, musíš mať v stránke formulár. Ale ak to má byť moderné riešenie, mal by si použiť JavaScript a nejaké RPC riešenie.

Nahoru Odpovědět
25.6.2017 17:54
Libraries over frameworks...
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na michal Čepelák
Petr Čech:25.6.2017 18:26

Uděláš si normální HTML formulář s tlačítkem. Formulář povede na .php stránku, kde bude tvá funkce.
Důležité je pochopit princip, jakým PHP funguje:

  1. Uživatel si vyžádá od serveru stránku
  2. Server požadavek přijme, pokud je v pořádku a předá všechny parametry PHP
  3. PHP seskládá HTML výsledné stránky. Nic zatím neopustilo server.
  4. Na konci PHP vyplivne statické HTML, které vrátí klientovi.
  5. Klientův prohlížeč vezme HTML a vyrenderuje ho.

Jak vidíš, klient nemůže žádným způsobem volat přímo PHP, ale jen posílat požadavky na server s nějakými parametry. To tlačítko udělá jen to, že pošle požadavek na server s parametry, které určuje, co je ve formuláři.
Až se dostaneš na vyšší úroveň, můžeš dělat takové srandičky jako tlačítka, která volají php soubory, aniž by odesílaly stránku (technologií AJAX), ale na to teď kašli.

Nahoru Odpovědět
25.6.2017 18:26
the cake is a lie
Avatar
michal Čepelák:25.6.2017 18:58

A pokud to mám volat pomocí javascriptu tak na to použiju asi onclick ale co použit u toho php aby vědělo že jsem mu poslal přikaz pomocí javascriptu?

 
Nahoru Odpovědět
25.6.2017 18:58
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:25.6.2017 20:34

To je jednoduché. Navážu na Petra. Máme tedy vyřešené HTML i PHP. HTML formuláři přidáš nějaké ID (v příkladu: "formular"). Po kliknutí na tlačítko (chceš onclick, tak přes něho) se formuláři řekne, aby se odeslal na server pro PHP.

<!-- HTML -->
<form id="formular">
    <!--- ... -->
</form>
<button onclick="odesliFormular();">Odeslat formulář</button>
// JS
function odesliFormular() {
    document.getElementById("formular").submit();
}
// PHP
if($_POST) {
    // ...
}

Pokud je tlačítko ve formuláři, určitě je lepší vyřešit to přes HTML.

<input type="submit" value="Odeslat formulář" />
Nahoru Odpovědět
25.6.2017 20:34
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
michal Čepelák:26.6.2017 6:55

To php s if musí byt až pod javascript kódem nebo kdekoliv na stránce?

 
Nahoru Odpovědět
26.6.2017 6:55
Avatar
katrincsak
Člen
Avatar
Odpovídá na michal Čepelák
katrincsak:26.6.2017 7:48

Možností máš více, vytvořil jsem ti jednoduchý kod, který by ti měl stačit. Samozřejmě je potřeba provádět i nějaké ošetření atp. Ale odesláním formuláře, se odešlou veškeré inputy ve formuláři a pak to již zpracuješ jako klasický POST. Dal jsem ti do konečného zpracování alert, tak ty si pak můžeš smazat.Většinou se místo toho dává nějaká událost. Jako třeba vložíš text, že vše proběhlo v pořádku atp. Druhý alert spíše ale hlásí chybu. V ajaxu si jen nastav cest k php souboru vlož tam můj příklad a mělo by ti to fungovat, ale hoď si to do čistého prázdnéo souboru, ať ti to zbytečně něco neovlivňuje. Pak si s tím už jen hrát ;-)

Netestoval jsem to, dělal jsem to teď ve vlaku.

/* PHP */
if($_POST['action'] == "odesliFormular"){
// Zde již proces, který chceš provést
        echo json_encode(array("result" => "OK", "msg" => "Vše proběhlo v pořádku")); exit;
}else{
        echo json_encode(array("result" => "OK", "msg" => "Akce neexistuje")); exit;
}

/* ajax/js -> vlož do js souboru, nebo klasicky do html */
function mujAjaxNaOdeslani(formular){
    $.ajax({
      url: '/cesta/k/php/soubor.php',
      data: {
        action: "odesliFormular",
        data: formular
      },
      dataType: 'json',
      cache   : false,
      type    : "post",
    })
      .done(function(data){
        if(data.result == "OK"){
          alert(data.msg);
        }else{
          alert(data.msg);
        }
      })
      .fail(function() {
        alert( "Fail" );
      });
  }

$(document).on("submit", "#mujFormular", function(e) {
   mujAjaxNaOdeslani($(this).serialize());
   return false;
});
 
Nahoru Odpovědět
26.6.2017 7:48
Avatar
Odpovídá na katrincsak
Michal Šmahel:26.6.2017 10:00

Zase mu neblbni hlavu, AJAX na něho už bude moc, si myslím... Každopádně to máš řešené hezky. Jen se dá využívat funkce .success(), na kterou skript přejde, pokud byl požadavek úspěšný.

Submit se nechá v jeho případě v pohodě řešit klasicky odesláním HTTP požadavku bez Javascriptu (jak to dělá HTML).

Nahoru Odpovědět
26.6.2017 10:00
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
michal Čepelák:26.6.2017 10:07

Děkuji za rady.
Ještě mám jednu věc mám funkci v php pro odeslání REST
mám vytvořenou tabulku kde jsou data v databázi a potřeboval bych poradit jak udělat pomocí tlačítka odešli REST po kliknutí aby se na pozadí zvolená data z databáze odeslala
zatím mám kód
index.php

vypis z tabulky z databaze a na stejném řádku tlačítko
<button onClick="abra_button('.$radek->id.');">odešli REST</button>

kód pro odeslání rest

<?php

$zaznamy= array();
if (isset($_REQUEST["send_aa_api"])){
        $id=$_REQUEST["send_aa_api"]+0;
OtevriDB();
$sql='SELECT `ticket`,`sn`,`nah_dily`,`opr_cena` FROM `opravy` WHERE `id`="'.($id).'" AND `del`="0"  ';
$dx=mysql_query($sql);
$i=0;
while ($radek=mysql_fetch_object($dx)){
        $ozn_ticketu=$radek->opr_ticket;
        $ozn_sn=$radek->sn;

        $zaznamy[$i]['text']=$radek->nah_dily;
        $zaznamy[$i]['vat']='0';
        $zaznamy[$i]['amount']=$radek->opr_cena;
//      $i++;
//      $i<3;
        }

//přes proměnou $vysledek se odešle funkce pro rest
$vysledek=WriteST($ozn_ticketu,$ozn_sn,$zaznamy);

echo $vysledek;

}


?>

mělo by to fungovat že kliknutím na tlačítko naurčitém řádku se pošle id řádku do kódu pro odeslání rest kde se z databáze do pole vyplní hodnoty a pošlou se přes proměnou $vysledek, mám to celé na jedné stránce ale asi to mám celý blbě, pokud tam nedám if a kód mám pro odeslání rest na čisté stránce tak to vybere poslední řádek v databázi a po refresh stránky odešle správně ale nemůžu sprovoznit jak po kliknutí na tlačítko aby se odeslal z databáze ten správný řádek s id. Snad jsem to napsal srozumitelně.
děkuji

Editováno 26.6.2017 10:07
 
Nahoru Odpovědět
26.6.2017 10:07
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:26.6.2017 10:08

Nejprve bych prosil používat tlačítko "Odpovědět". Odpovědi jsem si všiml jen náhodou.

Vytvoříš si dva (nebo tři) soubory: pro PHP a HTML + Javascript (nebo Javascript oddělit do samostatného). V PHP souboru budeš zpracovávat požadavek (jak jsem naznačil) z formuláře v HTML souboru.

HTML (+ Javascript) soubor (fromular.html):

<script>
// Javascript pro ovládání tlačítka
function odesliFormular() {
    document.getElementById("formular").submit();
}
</script>

<!-- HTML formulář -->
<form method="POST" action="zpracovani-formulare.php" id="formular">
        <!-- Tady si dáš nějaké prvky formuláře, které potřebuješ (input, textarea, ...) -->
</form>

<!-- Tlačítko pro odeslání -->
<button onclick="odesliFormular();">Odeslat formulář</button>

PHP soubor (zpracovani-formulare.php):

// Pokud přijde požadavek přes POST
if($_POST) {
        // Něco vykonat...
}
Nahoru Odpovědět
26.6.2017 10:08
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
katrincsak
Člen
Avatar
Odpovídá na Michal Šmahel
katrincsak:26.6.2017 10:08

Je to jednoduchá konstrukce a tak si myslím, že to asi nevadí. Tohle může použít prakticky kdekoliv, ale s tím success máš určitě pravdu.

 
Nahoru Odpovědět
26.6.2017 10:08
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:26.6.2017 10:15

Pozor na mysql_ funkce, již nejsou podporované v nových verzích PHP a jsou velmi nebezpečné.

Mimochodem, není možné to tlačítko umístit přímo do formuláře, aby jsi to nemusel řešit Javascriptem?

To ID si ulož o nějakého pole (input) a odesílej do do PHP souboru (u tebe nejspíše tentýž).

Ještě bych poprosil o rozšířený HTML kód.

<input type="number" value="0" placeholder="Zadej ID" />
Nahoru Odpovědět
26.6.2017 10:15
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
Michal Šmahel:26.6.2017 10:16

Formulář by mohl vypadat i nějak takto:

<form method="POST" action="nazev-souboru.php" id="formular">
        <input type="number" value="0" placeholder="Zadej ID" />

        <input type="submit" value="Odeslat formulář" />
</form>
Editováno 26.6.2017 10:17
Nahoru Odpovědět
26.6.2017 10:16
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
Michal Šmahel:26.6.2017 10:22

Ještě bych chtěl upozornit na funkci PHP. PHP je jazyk běžící na serveru. Jeho skript je zpracováván pouze, jestliže obdrží nějaký požadavek (např. od HTML nebo Javascriptu).

Javascript běží na straně klienta. Může tedy reagovat na interakce uživatele a dále je zpracovávat a s uživatelem komunikovat. V poslední řadě může komunikovat i se serverovými jazyky (PHP, node.js, Java, ...) přes již zmiňovaný AJAX z důvodů např. použití databáze nebo menší zátěže na straně klienta.

Ty tedy musíš odeslat požadavek (kliknutím na tlačítko typu submit ve formuláři), který si PHP převezme, zpracuje ho a vrátí nějaký výsledek (HTML).

Nahoru Odpovědět
26.6.2017 10:22
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
michal Čepelák:26.6.2017 10:41

tabulka i s tlačitkem je víc přiloha. Je tam tlačítko odešli rest po stisknutí by se mělo provést tento kód

OtevriDB();
$sql='SELECT `ticket`,`sn`,`nah_dily`,`opr_cena` FROM `opravy` WHERE `id`="'.($id).'" AND `del`="0"  ';
$dx=mysql_query($sql);
$i=0;
while ($radek=mysql_fetch_object($dx)){
        $ozn_ticketu=$radek->opr_ticket;
        $ozn_sn=$radek->sn;

        $zaznamy[$i]['text']=$radek->nah_dily;
        $zaznamy[$i]['vat']='0';
        $zaznamy[$i]['amount']=$radek->opr_cena;
//      $i++;
//      $i<3;
        }

//přes proměnou $vysledek se odešle funkce pro rest
$vysledek=WriteST($ozn_ticketu,$ozn_sn,$zaznamy);
 
Nahoru Odpovědět
26.6.2017 10:41
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:26.6.2017 11:32

Ještě HTML, prosím.

Nahoru Odpovědět
26.6.2017 11:32
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
michal Čepelák:26.6.2017 11:54
</table>
<p></p>



<div class="uzivtable2">
 <table class="uzivtable2"   border="1" cellspacing="0">
  <tr class="nadpis"  align="center" >
    <td >č.p.</td>
        <td >datum</td>
    <td> Ticket</td>
    <td >S/N</td>
    <td >Typ desky</td>
    <td width="100px" >MAC</td>
    <td >Od koho</td>
    <td >Přislušenství </td>
    <td >Závada</td>
    <td >Náhradní dily</td>
    <td >Opravil</td>
    <td >Wizard</td>
    <td >Poznámka</td>
    <td>Cena opravy</td>
    <td >Čas práce</td>

    <td>-</td>

      </tr>
  <?php

        OtevriDB();

                        $sql='SELECT opra. *,user.jmeno AS uziv_jmeno FROM opra LEFT JOIN user ON (user.id=opra.opravil) WHERE opra.del=0 ORDER BY id DESC ';



        //      $sql='SELECT opra.*,user.jmeno as uziv_jmeno FROM opra     ';
        //echo $sql;
        //die;
                $h=mysql_query($sql);
                while ($radek=mysql_fetch_object($h)){




                        echo'
                         <tr class="radekdat">

                        <td align="center"><form action="" method="get"><input name="id" type="hidden" value="'.$radek->id.'" />'.$radek->id.'</td>
                        <td align="center"><div style="width:70px"  >'.$radek->datum.'</div></td>
                        <td aling="center">'.$radek->opr_ticket.'</td>
                        <td align="center"><div style="width:74px"  >'.$radek->sn.'</div></td>
                        <td align="center"><div style="width:70px"  >'.$radek->typ_desky.'</div></td>
                        <td  align="center"><div style="width:100px; word-wrap: break-word" >'.$radek->mac.'</div></td>
                        <td align="center"><div style="width:85px;word-wrap: break-word"  >'.$radek->od_koho.'</div></td>
                        <td><div style="width:90px;word-wrap: break-word"  >'.$radek->prislu.'</div></td>
                        <td><div style="width:118px;word-wrap: break-word"  >'.$radek->zavada.'</div></td>
                        <td><div style="width:110px;word-wrap: break-word"  >'.$radek->nah_dily.'</div></td>
                        <td align="center"><div style="width:100px"   >'.$radek->uziv_jmeno.'</div></td>
                        <td align="center"><div style="width:70px"  >'.$radek->wizard.'</div></td>
                        <td><div style="width:90px;word-wrap: break-word"  >'.$radek->poznamka.'</div></td>
                        <td align="center">'.$radek->opr_cena.'</td>
                        <td align="center"><div style="width:40px;word-wrap: break-word"  >'.$radek->timeh.':'.$radek->timem.'</div></td>

                        <td align="center"><div style="width:110px"  >&nbsp;<input name="editace" type="submit" value="edituj" style="border: 1px solid black; font-size:10px;" /><input name="delete" type="submit" onClick="return zeptejse();" value="smaž" style="border: 1px solid black; font-size:10px;" /></div>
                        <i class=""  onClick="aa_button('.$radek->id.');">odešli rest</i>
                        </form></td>

                    </tr>

                ';


        }



  ?>




 </table>

To je HTML kód tabulky na obrázku nahoře
HTML mám dohromady s PHP kódem

Editováno 26.6.2017 11:55
 
Nahoru Odpovědět
26.6.2017 11:54
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:26.6.2017 19:37

Aha, děkuji. Pořád zcela nechápu, co přesně potřebuješ. Napiš, jaký je výchozí stav a poté, jak má vypadat výsledek. Když to dáš i do obrázku bude to ideální.

Nahoru Odpovědět
26.6.2017 19:37
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
michal Čepelák:27.6.2017 7:37

výchozí stav je ta tabulka s daty a tam pokud kliknu na tlačítko "odešli rest" tak by se po zmáčknutí tlačítka odešle ID toho řádku, kde jsem kliknul na tlačítko a zpracuje se tento kód, který přes proměnou $vysledek to odešle pryč.
Než to odešle musí z databáze načíst do pole určená data.

OtevriDB();
$sql='SELECT `ticket`,`sn`,`nah_dily`,`opr_cena` FROM `opravy` WHERE `id`="'.($id).'" AND `del`="0"  ';
$dx=mysql_query($sql);
$i=0;
while ($radek=mysql_fetch_object($dx)){
        $ozn_ticketu=$radek->opr_ticket;
        $ozn_sn=$radek->sn;

        $zaznamy[$i]['text']=$radek->nah_dily;
        $zaznamy[$i]['vat']='0';
        $zaznamy[$i]['amount']=$radek->opr_cena;
//      $i++;
//      $i<3;
        }

//přes proměnou $vysledek se odešle funkce pro rest
$vysledek=WriteST($ozn_ticketu,$ozn_sn,$zaznamy);
 
Nahoru Odpovědět
27.6.2017 7:37
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:27.6.2017 7:45

Aha, už to chápu. Co přesně tedy nefunguje??

Nahoru Odpovědět
27.6.2017 7:45
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
michal Čepelák:27.6.2017 8:42

nevím jak udělat aby se mi po stisknutí tlačítka odeslal $vysledek
pokud použiju ten kód na samostatné stránce a vložím tam ručně číslo ID tak to odešle data OK, ale nevím jak zprovoznit to tlačítko.

 
Nahoru Odpovědět
27.6.2017 8:42
Avatar
Vladislav Domin:27.6.2017 9:58
  1. Štýly prosím ťa píš do externého .css súboru, pretože takto je to HTML tak neprehľadné, že sa mi to nechcelo ani čítať.
  2. Na tvojom mieste by som používal $_POST pre odosielanie dát, ty to robíš cez JS, v tomto prípade podľa mňa celkom zbytočne.
  3. Neviem presne, čo premenná výsledok obsahuje, ale podľa buttonu by som povedal, že asi ID? V tom prípade zase použi $_POST, do nejakého inputu uložíš hodnotu a po odoslaní len spracuješ cez podmienku.
  4. Pre prehľadnosť kódu by som tiež nepoužíval echo pre vypisovanie html kódu, ale stackoverflow­.com/question­s/10258345/php-simple-foreach-loop-with-html
  5. Funckiu mysql ti neodporúčam používať kvôli bezpečnosti, pozrel by som sa na PDO, máš tu dokonca tutoriály a db wrapper na stiahnutie.Z
Editováno 27.6.2017 9:59
 
Nahoru Odpovědět
27.6.2017 9:58
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:27.6.2017 10:01

Aha, jasně. Máš to takové divoké, trochu to zjednodušíme.

HTML:

<td align="center">
    <div>
        <input name="editovat" type="submit" value="edituj" />
        <input name="smazat" type="submit" value="smaž" />
    </div>

    <input type="submit" name="rest" value="odešli rest" />
</form></td>

PHP:

// Přišel požadavek
if($_POST) {
    if(isset($_POST['editovat'])) {
        // ...
    }
    else if(isset($_POST['odstranit'])) {
        // ...
    }
    else if(isset($_POST['rest'])) {
        // ...
    }
}

Je to jednoduché, máš více odesílacích tlačítek (type="submit"), které v PHP od sebe odlišuješ přes jejich název.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
27.6.2017 10:01
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
Michal Šmahel:27.6.2017 10:05

Id si uložíš do nějakého pole (klidně skrytého).

<input type="number" value="<?= $id ?>" />
Nahoru Odpovědět
27.6.2017 10:05
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
michal Čepelák:27.6.2017 10:28
else if(isset($_POST['rest'])) {
        // ...
    }

do složených závorek vložím ten kód pro odeslání rest

OtevriDB();
$sql='SELECT `ticket`,`sn`,`nah_dily`,`opr_cena` FROM `opravy` WHERE `id`="'.($id).'" AND `del`="0"  ';
$dx=mysql_query($sql);
$i=0;
while ($radek=mysql_fetch_object($dx)){
        $ozn_ticketu=$radek->opr_ticket;
        $ozn_sn=$radek->sn;

        $zaznamy[$i]['text']=$radek->nah_dily;
        $zaznamy[$i]['vat']='0';
        $zaznamy[$i]['amount']=$radek->opr_cena;
//      $i++;
//      $i<3;
        }

//přes proměnou $vysledek se odešle funkce pro rest
$vysledek=WriteST($ozn_ticketu,$ozn_sn,$zaznamy);
 
Nahoru Odpovědět
27.6.2017 10:28
Avatar
Odpovídá na Michal Šmahel
michal Čepelák:27.6.2017 11:27

jak myslíš skryté pole?

 
Nahoru Odpovědět
27.6.2017 11:27
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:27.6.2017 11:45

Prostě ho skryješ. Nebo lépe použít tento tvar.

<input type="hidden" name="id" value="<?= $id ?>"/>
Nahoru Odpovědět
27.6.2017 11:45
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
michal Čepelák:27.6.2017 15:24

Děkuji moc za rady už to funguje ok.
Ještě bych měl dotaz pokud bych chtěl aby se tlačítka na daném řádku skryli po kliknutí na tlačítko rest udělat to přes databázi nebo se to dá udělat ještě nějak jinak?
Přes databázi bych si to představoval asi takhle : by byl sloupec odeslany_rest, který by měl defaultní hodnotu 0 a po kliknutí na tlačítko by se přes update přepsalo na 1 a tlačítka by zmizela.
Nebo jde to ještě nějak jinak udělat?
Děkuji

 
Nahoru Odpovědět
27.6.2017 15:24
Avatar
Odpovídá na michal Čepelák
Vladislav Domin:27.6.2017 23:30

Vytiahnes z DB hodnotu

<?php
$rest = 0 // dajme tomu

if($rest == 0):?>
        <input type='submit'>
<?php endif; ?>

toto si tam len daj a budu sa buttony zobrazovat len vtedy ak bude hodnota 0,ak bude hodnota 1 tak sa html kod nevypise

Editováno 27.6.2017 23:30
 
Nahoru Odpovědět
27.6.2017 23:30
Avatar
Odpovídá na Vladislav Domin
michal Čepelák:29.6.2017 10:02

Jsem to asi špatně pochopil ten kód, nemusím tam někde mít aji spojení s databází aby to zjistilo jaká hodnota je v databázi nastavena?

 
Nahoru Odpovědět
29.6.2017 10:02
Avatar
Odpovídá na michal Čepelák
Vladislav Domin:29.6.2017 10:43

najprv z DB ziskas hodnotu $rest a podla toho, ci je 1 alebo 0 vypises tie buttony

 
Nahoru Odpovědět
29.6.2017 10:43
Avatar
Odpovídá na Vladislav Domin
michal Čepelák:29.6.2017 10:58

Takle nějak

Db::connect('localhost', 'opravy', 'root', '');
                        $rest = Db::queryOne('SELECT odes_api FROM opravy WHERE opravy.odes_api=0 AND `id`="'.$id.'"');
                        $rest = 0;
                        if ($rest == 0){
                        <input .....
}

Děkuji

Editováno 29.6.2017 10:59
 
Nahoru Odpovědět
29.6.2017 10:58
Avatar
Odpovídá na michal Čepelák
Michal Šmahel:29.6.2017 20:52

Podívej se na ten kód. Vždyť je jasné, že to nikdy nemůže fungovat.

// Vždy bude v proměnné $rest hodnota 0
$rest = 0;
//  => vždy se podmínka splní
if ($rest == 0){

Musíš si z databáze vytáhnout hodnotu pro "rest" a poté porovnávat tuto hodnotu v dané podmínce. Nikdy nemůžeš jen napevno před podmínkou nastavit hodnotu, to se pak podmínka vydá vždy jen jedním směrem.

Nahoru Odpovědět
29.6.2017 20:52
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 33 zpráv z 33.