spa Posted June 1, 2006 Report Share Posted June 1, 2006 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 More sharing options...
bubu Posted June 1, 2006 Report Share Posted June 1, 2006 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 More sharing options...
spa Posted June 1, 2006 Author Report Share Posted June 1, 2006 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 More sharing options...
bubu Posted June 1, 2006 Report Share Posted June 1, 2006 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 More sharing options...
spa Posted June 1, 2006 Author Report Share Posted June 1, 2006 (edited) 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 June 1, 2006 by spa Link to comment Share on other sites More sharing options...
bubu Posted June 1, 2006 Report Share Posted June 1, 2006 Izdari skripta sākumā print_r($_GET); un padomā ko tur parāda. Link to comment Share on other sites More sharing options...
spa Posted June 1, 2006 Author Report Share Posted June 1, 2006 man raadaas parse error. Es kaut ko esmu nodefineejis nepareizi. man iisti neaiziet, kaa lai es tad nodefineeju? Link to comment Share on other sites More sharing options...
bubu Posted June 1, 2006 Report Share Posted June 1, 2006 Parse error nozīmē, ka tev skriptā ir sintaktiska kļūda. Piemēram - aizmirsts semikols, par daudz/maz iekavas un tml kļūdas. Paskaties uzmanīgāk uz savu skriptu. Link to comment Share on other sites More sharing options...
spa Posted June 1, 2006 Author Report Share Posted June 1, 2006 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 More sharing options...
bubu Posted June 1, 2006 Report Share Posted June 1, 2006 Kāpēc tu to sauc par erroru? Tas taču ir normāls print_r($_GET) outputs. Tik nesaprotu, ko tu tajā upd.php dari.. Kautko izselektē, dabū izselektētā skaitu, kas pēc būtības vienmēr būs 0 vai 1. A kāda jēga? Moš labāk palasi http://dev.mysql.com/doc/refman/5.0/en/index.html un http://www.php.net/manual/en/ Link to comment Share on other sites More sharing options...
spa Posted June 1, 2006 Author Report Share Posted June 1, 2006 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 More sharing options...
andrisp Posted June 1, 2006 Report Share Posted June 1, 2006 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 More sharing options...
spa Posted June 1, 2006 Author Report Share Posted June 1, 2006 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 More sharing options...
andrisp Posted June 1, 2006 Report Share Posted June 1, 2006 bet ja tev tā visa padarīšana atrodas starp ' pēdiņām, tad dubultpēdiņu likšana neko nemainīs. ieliec paste.php.lv visu to skriptu un parādi. Link to comment Share on other sites More sharing options...
spa Posted June 1, 2006 Author Report Share Posted June 1, 2006 Pievienoju kodu zem linka: http://paste.php.lv/3844 Link to comment Share on other sites More sharing options...
Recommended Posts