Jump to content
php.lv forumi

Datubazes Tabula - Forma Un Labosana


rpg

Recommended Posts

Izveidoju datubazi kura satur informaciju par produktu.. id,cena,kods,uzcenojums,nosaukums,apraksts..Izvadit no datubazes veel maku..Izvade noteik smuka tabula..tik talu viss labi..meginaju izveidot formu ar kuras palidzibi varetu labot,dzest datus no datubazes un atzimet izveletos datus ar checkbox..bet:

1)Keksitis kaut ka isti negribeja paradities istaja vieta.. Ar to gala tiku

2)keksitis ir pareiza vieta bet vienalga vai tas iecekots vai ne tam nav nekadas vertibas..Sapratu ka izvadita tabula jaliek forma

3)liels vairums ar submit pogaam un veel ir tikai viena submit forma tacu strada tikai auksejais keksitis.. :blink:

 

Varbuut jums tas izklausas lameriski,bet es netieku ar to gala..

Varbut ja varat atsutat man kadu sample skriptu..manuala lasiana man nepalidz... :(

 

Veel viens jautajums ja datubaze ir dati id,nosaukums un es nosaukumu veelos izvadiit optionboxa?Kads varetu izskatities kods??Atkal es dabunu tik optionboxus cik datubaze ierakstu..

Link to comment
Share on other sites

Sākšu no beigām: ar optionboxu domāts <select>?

<?php

echo '<select name="prod_name">

<option />Izvēlies produkta nosaukumu';

$m->q("SELECT id,name FROM products"); //ķipa query

while($m->fc()) //mysql_fetch

echo '<option value=".$m->f['id'].'">'.$m->f['name'];

echo '</select>';

 

Tagad par formām:

poga submit strādā tikai tai formai, kurā tā ietilpst. Ja tev ir vairākas formas, tad tiks nosūtītiti tikai tās formas dati, kurā tu iespiedi submit.

 

ir no svara ar kādu metodi tiek nodota forma POST/GET/PUT.

PUT tiek izmantots ļoti reti.

GET nodod parametrus pa adresa rindu, jebšu katram formas elementam uztaisa &elementa_nosaukums=stringota_vērtība... Parasti GET datiem jāiziet ar urldecode(), ja tur bija kādi krīvu/lotviešu buorti.

POST nodod datus adresa rindiņai "neredzami", bet svoloč tāc, pieliek eskeipus, jebšu ' top par [slash zīme pa kreisi]' (\') un tiem jātaisa stripslashes().

 

<input name="smth" type="checkbox" /> pie atķķeksēšanas pieņem vērtību "on"

 

Bet: čekboksam jābūt unikālam nosaukumam (name), kuru tavā gadījumā vislabāk balstīt uz unikālā ID.

Ja vairākiem čekboksiem būs vienāds name, nostrādās tikai pēdējā vērtība (līdzīgi kā radio)

Ja tev izvadās vairākas "rindiņas", kuras tiks apstrādātas līdzīgi, taisi:

<input name="id[]" value="id_no_tabulas">

<input name="id[]" value="nākošais_id_no_tabulas">

Protams, viss no pirmā <input līdz <input type=submit> jāiekļauj vienā formā, pie tam vēlams formas tagu neieskaldīt tabulas atsevišķās cellēs:

 

do not do like this:

<table>

<tr><td><form ...><input></td>

<td></form></td></tr></table>,

 

do like this:

<form>

<table>

...

</table>

</form>

 

Padoms dzēšanai: teiksim, tef bij' čekboši ar name="to_del[]"

 

pie submita apstrādes taisi:

$m->q("DELETE FROM produkti WHERE id IN(".join(',',$to_del).")");

 

 

Lai izvadīt datus rēdiģēšanai iekš input, vislabāk iekļauj value iekš dubultpēdiņām (quote, ") tā:

<input name="tādsuntāds" value="'.mysql_escape_string($m->f['dati_no_tabulas']).'">

 

Un vispār - beidz taisīt eveikalus ;)

 

Domāju, ka ātbilde jau tā ir pārāk gruzīta, tāpēc tālāk "neturpināšu".

Link to comment
Share on other sites

  • 2 years later...

man neizdevas rast atbildi uz savu jautajumu, un, manuprat, mana jautajuma ista vieta ir seit. Tatad no db vienas tabulas es formeju comboboxu, no kura ar SUBMIT izveleto vertibu comoboxaa gribu ielikt citaa tabulaa. isti netieku skaidribaa, kas pec otraja tabula tiek likta tuksa vertiba. var kads palidzet, ludzu?

 

<?

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);

mysql_select_db($dbname,$dbcnx) or msql_error();

 

 

$sql= "SELECT * FROM tabula1";

$result = mysql_query($sql);

?>

 

<p><select name=input>

<?

while (list($id, $kautkadsieraksts) = mysql_fetch_row($result))

{

echo "<option value = $id>$kautkadsierakksts</option>";

}

?>

 

</select>

<input type="submit" name="enter" value="OK" /><br />

</form>

 

<?

if (isset($_POST['enter']))

{

$query = "INSERT INTO tabula2 (kolonnasvirsraksts) VALUES ('$kautkadsieraksts')";

mysql_query($query);

}

?>

Link to comment
Share on other sites

un kāpēc domā ka $_POST['input'] == $kautkadsieraksts'?

 

nu atliek secinat, ka $_POST['input'] == $kautkadsieraksts' nav pareiz.

 

domaju, ka jabut kaut ka lidzigi sim kodam:

 

<?

$dbLink = mysql_connect('localhost', 'user', 'pass');

mysql_select_db('db_name');

 

if (isset($_POST['enter']))

{

empty($_POST['vards']) ? $vards = '- - -' : $vards = $_POST['vards'];

 

$query = "INSERT INTO table (id,name) VALUES (NULL,'$vards')";

mysql_query($query);

}

?>

 

<form method="post" action="" enctype="multipart/form-data">

<p>

Vards: <input type="text" name="vards" maxlength="30" size="23" /><br />

<input type="submit" name="enter" value="OK" /><br />

</p>

</form>

 

 

 

saja kodaa taksh $_POST['enter'] == ar $vards

nu jaa, saja piemera tas ir vienkarsi textboxis, tapat man viss stradaa, ja salieku izvelnes datus toist: <option>blablabla</option> jau ieksaa koda, bet nav skaidribas kada veida dabut gatavu, kad comboboxim izveleta vertiba, kad dati tiek nemti no db, ir vienada ar $_POST['enter'].

Link to comment
Share on other sites

ja tabula saucās table, tad vajag viņu rakstīt starp šitiem simboliem - ` (aizmirsu kā tie saucās pareizi), jo table ir mysql keywords un keywordus nevajag izmantot nosaucot tabulas, laukus, f-jas utt.

 

INSERT INTO `table` (id,name) VALUES (NULL,'$vards')

 

 

aiz mysql_query() pieliec echo mysql_error();

Edited by v3rb0
Link to comment
Share on other sites

ja tabula saucās table, tad vajag viņu rakstīt starp šitiem simboliem - ` (aizmirsu kā tie saucās pareizi), jo table ir mysql keywords un keywordus nevajag izmantot nosaucot tabulas, laukus, f-jas utt.

 

INSERT INTO `table` (id,name) VALUES (NULL,'$vards')

aiz mysql_query() pieliec echo mysql_error();

 

visadi izmeginajos, error kludu nemet,

tas '$kautkadsieraksts' datubaze man raksta tikai un vienigi tuksumu.

 

varbut ir kadam kada ideja kaa $_POST['input'] == '$kautkadsieraksts' (skatit kodu augstak).

 

paldies

Link to comment
Share on other sites

×
×
  • Create New...