SadDemon Posted June 14, 2007 Author Report Share Posted June 14, 2007 Vai priekš php 4 versijas būs pareizi? - <?php $id = $_POST['id']; $doc = new DOMDocument; $doc -> load('depot.xml'); $el = $doc -> get_elements_by_tag_name('product'); foreach($el as $element) { if($element -> get_attribute('id') == $id) { $element -> parent_node -> remove_child($element); break; } } $doc -> save("depot.xml"); ?> Neesmu necik zinošs iekš php, tāpēc lūdzu pielabojiet, paīdziet pārveidot.. lai darbotos uz php 4 versijas.. Jau iepriekš pateicos.. Link to comment Share on other sites More sharing options...
Exzo Posted June 14, 2007 Report Share Posted June 14, 2007 Vai pašam patestēt nav vienkāršāk? Link to comment Share on other sites More sharing options...
bubu Posted June 14, 2007 Report Share Posted June 14, 2007 Ir vēl jautājums - vai šī darbība, dzēšot datus - varētu nedarboties uz vecākas php vai msql bāzes.. jo testējot localhostā, kur man jaunākās mysql un php versijas - viss darbojas, bet augšuplādēts uz awardspace.com, kur ir ceturtās versijas - nedarbojas.. Vienmēr vajag lapu testēt uz tādas pašas php/mysql/apache/sazin-kā-tur-vēl versijas kāda ir uz paredzētā hostēšanas servera. Link to comment Share on other sites More sharing options...
SadDemon Posted June 14, 2007 Author Report Share Posted June 14, 2007 Lūdzu palīdziet ar xml dom metodi php 4 versijai.. esmu visādi izmēģinājis, bet k-kur ir kļūda.. palīdziet tak! <?php $id_old = $_POST['id_old']; $id = $_POST['id']; $amount = $_POST['amount']; $name = $_POST['name']; $color = $_POST['color']; $article = $_POST['article']; $category = $_POST['category']; $status = $_POST['status']; $doc = domxml_new_doc("1.0"); $doc -> domxml_open_file("../xml/depot.xml"); $el = $doc -> get_elements_by_tag_name('product'); foreach($el as $element) { if($element -> get_attribute('id') == $id_old) { $element -> parent_node -> remove_child($element); break; } } $doc -> dump_file("../xml/depot.xml", false, true); $myXML = "../xml/depot.xml"; $content = file_get_contents($myXML); $content = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $content); $ending = "</Noliktava>"; $content = substr($content, 0, strpos($content,$ending)-1); $newData = " <product id=\"".$id."\" amount=\"".$amount."\" name=\"".$name."\" color=\"".$color."\" article=\"".$article."\" category=\"".$category."\" status=\"".$status."\"/> ".$ending; $content.=$newData; $fHandle = fopen($myXML, "w+"); fwrite($fHandle, $content); fclose($fHandle); ?> Link to comment Share on other sites More sharing options...
GedroX Posted June 14, 2007 Report Share Posted June 14, 2007 Uzliec, lai rādītu kļūdas. Link to comment Share on other sites More sharing options...
bubu Posted June 14, 2007 Report Share Posted June 14, 2007 error_reporting(E_ALL); ini_set('display_errors', 1); Un tikai pēc tam mēs ar tevi runāsim ;) Link to comment Share on other sites More sharing options...
GedroX Posted June 14, 2007 Report Share Posted June 14, 2007 ..un ver vaļā iekš IE, jo FF man liekās automātiski dzēsa PHP kļūdas laukā. :P Link to comment Share on other sites More sharing options...
andrisp Posted June 14, 2007 Report Share Posted June 14, 2007 GedroX, FF tā nedara. Bet kļūdas vizuāli nav redzamas, ja tās tiek izdrukātas, piem., iekš html emeneta atribūta. Source kodā gan to redz. Link to comment Share on other sites More sharing options...
SadDemon Posted June 15, 2007 Author Report Share Posted June 15, 2007 Kā varētu nodzēst visu *.xml faila saturu, tobiš produktus? (..iepriekš dzēsu konkrētu produktu pēc "id") *.xml faila saturs: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <Noliktava produkcijai="----"> <product id="8" amount="24" name="šķiltavas" color="metāls" article="topico" category="šķiltavas" status="ir"/> <product id="10" amount="10" name="pulkstenis" color="sudraba" article="0401040" category="pulksteņi" status="ir"/> </Noliktava> un *.php faila saturs: <?php $id = $_POST['id']; $doc = new DOMDocument; $doc -> load('../xml/depot.xml'); $el = $doc -> getElementsByTagName('product'); foreach($el as $element) { if($element -> getAttribute('id') == $id) { $element -> parentNode -> removeChild($element); break; } } // u.t.t. ..palīdziet, pamāciet nelaimīgu cilvēku, kas cenšas k-ko iemācīties.. Paldies arī par iepriekšējo norādījumu, kā kļūdas apskatīt (tagad visi gudrie smejas); jautājums - kam vajadzīgs tas error_reporting(E_ALL); ini_set('display_errors', 1); ..? (Lietoju Opera browser, kļūdas tāpat arī rāda, ja tādas ir); Link to comment Share on other sites More sharing options...
andrisp Posted June 15, 2007 Report Share Posted June 15, 2007 Tā error_re... rindiņa ir, lai PHP rādītu kļūdas PHP kodā. Tam nav nekāda sakara ar to kādu pārlūku izmanto. Link to comment Share on other sites More sharing options...
SadDemon Posted June 15, 2007 Author Report Share Posted June 15, 2007 (edited) ..nu Opera rāda kļūdas arī bez tā error_reporting(E_ALL); Jautājums, ja atkārtoju funkciju ar "while" un atkārtojumu skaits ir.. nu piemēram līdz 500.. $el = $doc -> getElementsByTagName('product'); while ($id <= $count) { foreach($el as $element) { if($element -> getAttribute('id') == $id) { $element -> parentNode -> removeChild($element); break; } } $id++; } ..vai pastāv k-kādi servera puses ierobežojumi, intervāli.. vienuvārd sakot - pastāv vai nepastāv iespēja, ka viss varētu nokārties vai kā tamlīdzīgi? ..iepriekš - paldies! Edited June 15, 2007 by SadDemon Link to comment Share on other sites More sharing options...
localhero Posted June 15, 2007 Report Share Posted June 15, 2007 Nav labak partaisit strukturu xml`am lai nav jachakarejas ar atributiem ? Piemeram: <Noliktava> <produkts> <id>1</id> <amount>2341</amount> <name>metals</name> </produkts> <produkts> <id>2</id> <amount>555</amount> <name>sarkans</name> </produkts> </noliktava> Link to comment Share on other sites More sharing options...
SadDemon Posted June 15, 2007 Author Report Share Posted June 15, 2007 - > localhero ..nav jau problēmu ar atribūtiem, ..viss darbojas bez problēmām (vajag izlasīt par ko ir runa).. Link to comment Share on other sites More sharing options...
v3rb0 Posted June 15, 2007 Report Share Posted June 15, 2007 php.net/break Link to comment Share on other sites More sharing options...
localhero Posted June 15, 2007 Report Share Posted June 15, 2007 Tas jau labi ka vis iet. Es tikai noradiju ka vertibas glabat atributos nav labi. Link to comment Share on other sites More sharing options...
Recommended Posts