Jump to content
php.lv forumi

Update, Delete, Display


spa

Recommended Posts

Sveicinaati veelreiz speci!

Nevaru sadomaat, kaa lai tad, kad esmu izguvis ierakstus no MySQL tabulas un izvadiijis php tabulaa,vareetu shos ierakstus update vai izdzeest. Scripts ar kuru izguustu datus ir apskataams sheit: http://paste.php.lv/3842

Man nav skaidrs, kaa lai es piesaistu konkreto ierakstu pogai update. Piesaistiiju ieraksta ID formai, un ar update paarsuutiiju, taalaak, ar if nochekoju vai ID ir tuksh, un ID sanaak ka ir tuksh. Es domaaju, ka esmu sapinjkjereejies pats savaas domaas. Varbuut kaads var paliidzeet?

Link to comment
Share on other sites

Ja tas ID_E ir tabulas primārā atslēga, tad ierakstu updeitot vari šādi: UPDATE tabule SET lauks1='$dati1', lauks2='$dati2' WHERE ID_E=$id_e

Protams, piemērojot vajadzīgās fjas pret sql injekcijām (eskeipo pēdiņas).

Dzēš šādi: DELETE FROM tabule WHERE E_ID=$id_e

Link to comment
Share on other sites

ID_E ir primaaraa atsleega.

SQL sintakse taa kaa man buutu skaidra.

Bet man taa kaa gribeetos, lai teiksim es atteelojot MySQL datus php tabulaa, vareetu panjemt konkreeto rindu, apskatiit pilniibaa un tad papildinaat.

Nu manaa pievienotajaa scriptaa ir taa ka atteelojas izveeleetaas tabulas rindas, katrai rinda pievienotas pogas: "Update" un "Delete", lai teiksim nospiezhot uz pogas "Update" php izvades tabulaa, man paraadiitos taa rinda kuras galaa ir shii "Update" poga. Kaadu man labaak funkciju izmantot, lai nochekotu, ka shii konkreeta rinda man ir jaaizvada un ja veelos jaapapildina, vai jaanodzesh? Cerams ka izdevaas izskaidrot, ko es veelos, kaadam ir idejas, kaa to izdariit?

Link to comment
Share on other sites

SELECT * FROM tabule - tā atselektē visus ierakstus (protams ar LIMIT ja vajag fiksētu skaitu lapā).

Tad ciklā izvadi visus tos ierakstus <table> tagos, kur pašā rindas galā liec linku: <a href="update.php?id=$ID_E">Labot</a> Tā tu saģenerēsi katram ierakstam linku uz update.php skriptu, ar ieraksta primāro atslēgu id GET parametrā.

Tajā update.php skripā atselektē ierakstu, kura primārā atslēga ir $_GET['id'] un izvadi to <form>'ā <input> lauciņos. ar pogu Submit uz skriptu, kurš tad arī saseivos visus ievadītos lauciņus.

Advancētākā variantā tas Labot pārtop par JS skriptu, kurš pārveido dinamiski tos tabulas rindas datus par <input> lauciņiem un uz saglabāšanu ar XHR (XMLHttpRequest) saglabā atpakaļ datubāzē.

Link to comment
Share on other sites

Paldies, ideja, taa kaa skaidra, vieniigi probleemas ar update.php. Kaads vareetu buut kods update.php?

Shaads:

$ID_E=$_GET['ID_E'];

include 'db.php';

$query="SELECT * FROM entries WHERE ID_E='$ID_E'";

$result=mysql_query($query);

 

 

Jautaajums taadeelj, ka man vinjsh met aaraa, ka nav nodefineet index $ID_E?

Edited by spa
Link to comment
Share on other sites

Ar Parse error tiku skaidriibaa, tagad jaunas probleemas.

Tjipa tas links updatam ir sekojoshs manaa gadiijumaa: upd.php?ID_E=$ID_E, te es nododu to veertiibuun ar upd.php sanjemu, vieniigi man raadaas sekojoshs errors: Array ( [iD_E] => $ID_E )

upd.php:

$ID_E=$_GET['ID_E'];

include 'db.php';

$query="SELECT * FROM entries WHERE ID_E='$ID_E'";

$result=mysql_query($query);

$num=mysql_num_rows($result);

mysql_close();

Cik es noprotu upd.php visam buutu jaastraada, vieniigi nesaprotu vai es pareizi nododu mainiigo ID_E?

Link to comment
Share on other sites

upd.php es izselekteeju aaraa konkreetas rindas datus, lai vareetu taalaak tos papildinaat.

ieliekot tajaa upd.php vaicaajumaa konkreetas rindas ID, viss straadaa. bet tikko saakas mainiigie, taa nekas neiet. Vai buutu iespeejams kaut kaa rast risinaajumu?

Link to comment
Share on other sites

Array ( [iD_E] => $ID_E )

 

Šitas liecina par to, ka tur, kur tev ir upd.php?ID_E=$ID_E, tas $ID_E tiek pārsēts kā teksts nevis mainīgais. Pārliecinies, vai tev gadienā nav kam šitam līdzīgs -> echo '<a href="upd.php?ID_E=$ID_E">Labot</a>'; . Viss, kas ir vienpēdiņās tiek uztverts kā tekts un mainīgie tur netiek meklēti. Izmanto divpēdiņas ", vai arī šādi echo '<a href="upd.php?ID_E='.$ID_E.'">Labot</a>';

 

Man pašam personīgi labāk patīk otrais variants.

Link to comment
Share on other sites

TAgad es izguvu shaadu: Array ( [iD_E] => )

Paartaisiiju: upd.php?ID_E=$ID_E par upd.php?ID_E="$ID_E"

Man kaut kaa neaziet kur ir kljuuda, linku iekopeejot broseraa un ieliekot mainiigaa vietaa ID viss notiek.

Link to comment
Share on other sites

×
×
  • Create New...