Autor | Zpráva | ||
---|---|---|---|
piwik Profil |
#1 · Zasláno: 17. 8. 2010, 10:02:37
Dobry den,
Jedna sa o webovu aplikaciu realitna kancelaria, ktoru vyvijam. Mam problem s odovzdanim premennej $data[id] do modal okna jqmWindow. Jedna sa o kliknutie na link zmenit...vo vypise. Po kliknuti na odkaz v prislusnom vypise zaznamu, chcem aby v modal okne sa vypisal obsah toho isteho zaznamu....nedari sa mi to docielit. V modal okne sa nachadza formular pre zmenu zaznamu. Problem je, ze premenna sa odovzda s poslednom hodnotou $data[id] z cyklu white. ... ale ja potrebujem stale aktualnu hodnotu. Dufam, ze sme sa pochopili. Za odpovede dakujem, nizsie je uvedeny kod: <?php if($_POST['vyber']=="byty" && isset($_POST['vyber1'])) { $sql = mysql_query("SELECT * FROM byty WHERE lokalita='".$vyber1."'"); $pocet = mysql_num_rows($sql); ?> <table border=0 class=vypis-info> <tr> <td><strong>Nehnuteľnosť:</strong></td> <td><?php echo $vyber ?></td> <td><strong>Lokalita:</strong></td> <td><?php echo $vyber1 ?></td> <td><strong>Počet záznamov:</strong></td> <td><?php echo $pocet ?></td> </tr> </table> <?php while($data = mysql_fetch_array($sql)) { ?> <table border=0 id=byty_vypis> <tr> <td> <strong>ID:</strong><?php echo $data[id] ?> </td> <td valign=top rowspan=11 class=vypis-obr-velkost> <div id=vypis-pic></div> <span class=vypis_operacia><br /> <strong><a href="#?id=<?php echo $data[id] ?>" class="jqModal">zmeniť</a></strong> <strong><a href="#?id=<?php echo $data[id] ?>" class="jqModal">ostrániť</a></strong> </span> </td> </tr> <tr> <td> <strong>Ulica:</strong><?php echo $data[ulica] ?> </td> </tr> <tr> <td> <strong>Číslo:</strong><?php echo $data[cislo] ?> </td> </tr> <tr> <td> <strong>Poschodie:</strong><?php echo $data[poschodie] ?> </td> </tr> <tr> <td> <strong>Typ:</strong><?php echo $data[typ] ?> </td> </tr> <tr> <td> <strong>Plocha:</strong><?php echo $data[plocha] ?> </td> </tr> <tr> <td> <strong>Vlastníctvo:</strong><?php echo $data[vlastnictvo] ?> </td> </tr> <tr> <td> <strong>Stav:</strong><?php echo $data[stav] ?> </td> </tr> <tr> <td> <strong>Cena:</strong><?php echo $data[cena] ?> </td> </tr> <tr> <td> <strong>Opis:</strong><?php echo $data[opis] ?> </td> </tr> </table> <?php $podla_id=$data[id]; } } ?> <div class="jqmWindow" id="dialog"> <a href="#" class="jqmClose">Close</a> <hr> <?php echo $podla_id ?> <hr> <form action="template.php?page=zmena&ulica=<?=$ulica=$_POST['ulica']; ?> &cislo=<?=$cislo=$_POST['cislo']; ?> &poschodie=<?=$poschodie=$_POST['poschodie']; ?> &typ=<?=$typ=$_POST['typ']; ?> &plocha=<?=$plocha=$_POST['plocha']; ?> &vlastnictvo=<?=$vlastnictvo=$_POST['vlastnictvo']; ?> &stav=<?=$stav=$_POST['stav']; ?> &cena<?=$cena=$_POST['cena']; ?> &opis=<?=$opis=$_POST['opis']; ?>" method="post"> <?php $sql1 = mysql_query("SELECT * FROM byty WHERE id='".$podla_id."' "); if(!sql1) { echo "Chyba v tabulke",mysql_error(); break; } $pocet1 = mysql_num_rows($sql1); if($pocet1==0) { echo "Nenasiel sa ziaden zaznam"; break; } /* hodnoty zaznamov */ $ulica = mysql_result($sql1,0,"Ulica"); $cislo = mysql_result($sql1,0,"Cislo"); $poschodie = mysql_result($sql1,0,"Poschodie"); $typ = mysql_result($sql1,0,"Typ"); $plocha = mysql_result($sql1,0,"Plocha"); $vlastnictvo = mysql_result($sql1,0,"Vlastnictvo"); $stav = mysql_result($sql1,0,"Stav"); $cena = mysql_result($sql1,0,"Cena"); $opis = mysql_result($sql1,0,"Opis"); ?> <table> <tr> <td>Ulica</td> <td><input type="text" name="ulica" id="ulica" value="<?php echo $ulica ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> <tr> <td>Číslo</td> <td><input type="text" name="cislo" id="cislo" value="<?php echo $cislo ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> <tr> <td>Poschodie</td> <td><input type="text" name="poschodie" id="poschodie" value="<?php echo $poschodie ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> <tr> <td>Typ</td> <td><input type="text" name="typ" id="typ" value="<?php echo $typ ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> <tr> <td>Plocha</td> <td><input type="text" name="plocha" id="plocha" value="<?php echo $plocha ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> <tr> <td>Vlastníctvo</td> <td><input type="text" name="vlastnictvo" id="vlastnictvo" value="<?php echo $vlastnictvo ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> <tr> <td>Stav</td> <td><input type="text" name="stav" id="stav" value="<?php echo $stav ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> <tr> <td>Cena</td> <td><input type="text" name="cena" id="cena" value="<?php echo $cena ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> <tr> <td>Opis</td> <td><input type="text" name="opis" id="opis" value="<?php echo $opis ?>" class="text ui-widget-content ui-corner-all" /></td> </tr> </table> <button type="submit">Zmeniť</button> </form> </div> |
||
Tori Profil |
#2 · Zasláno: 17. 8. 2010, 11:20:05
piwik:
To je všechno jeden soubor, anebo od ř.83 začíná skript, který voláte ajaxem a který dodá data pro nemovitost, na kterou se kliknulo? Možná blbý dotaz, jen mi není úplně jasné, jak to má fungovat. Pokud je to jeden soubor, tak se proměnná $podla_id při každé iteraci přepisuje hodnotou z dalšího řádku db a zůstane jí teda ID z toho posledního. Pak se podle toho načtou data do formuláře, a to celé se teprv pošle do prohlížeče. Můžete kdyžtak přidat i kousek Javascriptu, který používáte na aktualizaci modal window? |
||
piwik Profil |
#3 · Zasláno: 17. 8. 2010, 11:26:36
Tori:
Dakujem za odpoved. Presne tak, ono sa to prepisuje vzdy poslednym riadkom. Je to jeden subor, v ktorom sa este nachadza js: (v nom sa iba vola dialog box) <script> $().ready(function() { $('#dialog').jqm(); }); </script> Posielam dalej obsah suboru zmena.php: <?php $id=$_POST['id']; $ulica=$_POST['ulica']; $cislo=$_POST['cislo']; $poschodie=$_POST['poschodie']; $typ=$_POST['typ']; $plocha=$_POST['plocha']; $vlastnictvo=$_POST['vlastnictvo']; $stav=$_POST['stav']; $cena=$_POST['cena']; $opis=$_POST['opis']; $sql=mysql_query("UPDATE byty SET ulica='$ulica', cislo='$cislo', poschodie='$poschodie', typ='$typ', plocha='$plocha', vlastnictvo='$vlastnictvo', stav='$stav', cena='$cena', opis='$opis' WHERE id='".$id."'); echo "Zaznam bol uspesne zmeneny"; ?> |
||
piwik Profil |
#4 · Zasláno: 17. 8. 2010, 11:28:23
mozno este pre informaciu .. na pracu s modal oknom pouzivam tento plugin:
http://dev.iceburg.net/jquery/jqModal/ |
||
Tori Profil |
#5 · Zasláno: 17. 8. 2010, 12:28:28
piwik:
A co kdyby se - jen nápad - přesunul i ten formulář z #dialog do zmena.php? Že by byl na stránce jen výpis bytů v dané lokalitě, a formulář na editaci / přidání bytu i jeho zpracování by se přesunuly do modálního okna. V javascriptu pak přidat parametr z toho odkazu, na který se kliklo $().ready(function() { $('#dialog').jqm( {ajax: '@href'} ); }); zmena.php by pak mohla vypadat takhle: <?php if (!empty($_REQUEST['ulica']) { // nějaké pole z formuláře, které musí být vždy vyplněno // formulář byl odeslán, takže provedeme update databáze ... echo "Údaje boli úspešne zmenené."; die(); } if (empty($_REQUEST['ulica'] || $chyba_ve_formulari == true) { // 1. jsme tu poprvé: zobraz formulář s daty z db, anebo // 2. byl špatně vyplněný formulář, zobraz ho znovu pro opravu $podla_id = $_REQUEST['id']; // sem by měla přijít ta proměnná z odkazu, na který se kliknulo // ... formulář .... } Ale jak říkám, je to jen nápad, nezkoušela jsem to. |
||
Tori Profil |
#6 · Zasláno: 17. 8. 2010, 12:34:01
piwik:
Ještě mne zaujalo: jak funguje ten break uvnitř if? if(!$sql1) { echo "Chyba v tabulke",mysql_error(); break; } // ř.100 |
||
piwik Profil |
#7 · Zasláno: 17. 8. 2010, 12:40:03
Tori:
> piwik: > Ještě mne zaujalo: jak funguje ten break uvnitř if? > > 1 > > if(!$sql1) { echo "Chyba v tabulke",mysql_error(); break; } // ř.100 tuto cast kodu som skopcil z netu, cize netusim :) |
||
Tori Profil |
#8 · Zasláno: 17. 8. 2010, 12:48:41
piwik:
Ad [#7]: Aha, já myslela, jestli to celé není ještě v nějakém cyklu, třeba při zpracování šablony nebo co. Jinak break uvnitř if vyhazuje Fatal error, takže spíš bych použila exit (anebo return, jestli to je includovaný soubor). |
||
piwik Profil |
#9 · Zasláno: 17. 8. 2010, 13:17:07
Tori:
Som v PHP zaciatocnik, tak neviem ci to programujem spravne...pomaham si aj internetom...aspon to pojde rychlejsie. Takto, ak mas cas, tak Ti mozem poslat zdrojaky ... a mozme to prekonzultovat cez ICQ, pripadne mailom....rada odbornika by sa mi zisla. No ak, nemas cas,tak nevadi .... inak dakujem za navrhnute riesenie, skusim ho |
||
Tori Profil |
#10 · Zasláno: 17. 8. 2010, 14:41:36 · Upravil/a: Tori
piwik:
zkusím, jestli ten můj návrh vůbec funguje a ozvu se mailem.. ale odborník určitě nejsem, nestudovala jsem IT /edit: funkční ukázka zde |
||
piwik Profil |
#11 · Zasláno: 17. 8. 2010, 14:42:39
Tori:
vdaka..... ivan.suster@gmail.com |
||
Časová prodleva: 14 let
|
0