Jump to content
php.lv forumi

MySQL ierakstu labošana caur lapu


GLs

Recommended Posts

Sveiki!

Ar php ņemos 3.-šo dienu. Radās vajadzība izveidot lapu, kurā var labot dažādus ierakstus.

Pa šo dienu izskatīju un izmēģināju vairākus tutoriāļus, bet neviens no tiem tā īsti neatbilda tam, ko vajag man.

Šajā tēmā jau kaut kas līdzīgs ir bijis, taču arī tas nelīdzēja.

Ir MySQL datubāze ar nosaukumu Zinas - ar 4 kolonām - id, virsraksts, raksts un datums.

Šeit ir labot.php kods.

Bet šeit ir labotdb.php kods.

Kodā izmantoju konstantu raksta_id, mainīgo uztaisīšu vēlāk.

 

Kāpēc pārlūkā skatoties labot.php rāda "Parse error: parse error in c:\www\easyphp1-8\www\labot.php on line 23"?

Edited by GLs
Link to comment
Share on other sites

Faila labot.php beigām vajadzētu būt aptuveni šitādām:

//Izmeegjinot vairaakus variantus, kljuuda vienmeer ir apaksheejaa rindinjaa
?>
<form method="post" action="labotdb.php"> 
<input type="hidden" name="raksta_id" value="2"> 
<input type="text" name="virsraksts" value = "<?php echo $virsraksts; ?>"> 
<textarea name="raksts"><?php echo $raksts; ?></textarea>

Link to comment
Share on other sites

tu esi sācis rakstīt html elementus php tagā.

 

<?
 mysql_connect("localhost", "root", "")
 or die(mysql_error());
 mysql_select_db("Zinas")
 or die(mysql_error());
// Ja man augshaa esoshais kods tiek saglabaats kaa atseviskjs
//dokuments, (savienoties.php), tad driikst rakstiit tikai
// include("savienoties.php")?

// Te tiek defineeti mainiigie, kurus sanjem no tabulas | ceru, ka taa ir.
 $virsraksts = mysql_query("SELECT * FROM jaunumi WHERE virsraksts")
	 or die(mysql_error());
 $teksts = mysql_query("SELECT * FROM jaunumi WHERE raksts")
	 or die(mysql_error());
 //Izmeegjinot vairaakus variantus, kljuuda vienmeer ir apaksheejaa rindinjaa
?>
<form method="post" action="labotdb.php">
<input type="hidden" name="raksta_id" value="2">
<input type="text" name="virsraksts" value = "$virsraksts">
<textarea name="raksts" value = "$raksts"></textarea>

 

tāds būtu pareizs kods (vismaz tā kļūda izlabota).

 

ps. piedodiet par garo kodu..

Link to comment
Share on other sites

Paldies jums abiem! Tas nostrādāja :)

 

Bet kā lai dabū, lai labojamā teksta vērtības parādītos iekš tiem 2 laukiem.

php kodā nodefinēju mainīgos:

$virsraksts = mysql_query("SELECT * FROM jaunumi WHERE virsraksts")
	or die(mysql_error());
$raksts = .....

,

un gribēju lai text boxā parādās tās vērtības -

<textarea name="raksts" value = "$raksts"></textarea>

Likt <? $raksts ?> starp textarea tagiem? Pamēģināju, taču nesanāk.

 

Šo centīšos apgūt rīt, bet būšu pateicīgs arī par kādu jūsu sniegtu padomu.

Edited by GLs
Link to comment
Share on other sites

Pateicos, vismaz ir virziens, kurā meklēt.

Kas trūkst pēc

...WHERE virsraksts

? Vai tad tas netiek izmainīta tikai vērtība, kura atbilst dotajam id? Tagad lauciņa virsraksts rādās "Resource id #3", bet lauciņš 'raksts' vietā nav nekas.

Paulinja ieteikuma gadījumā parādās MySQL errors.

Nu nekas, rīt ar svaigu galvu paskatīšos ko var darīt.

Link to comment
Share on other sites

Pateicos, vismaz ir virziens, kurā meklēt.

Kas trūkst pēc

...WHERE virsraksts

? Vai tad tas netiek izmainīta tikai vērtība, kura atbilst dotajam id? Tagad lauciņa virsraksts rādās "Resource id #3", bet lauciņš 'raksts' vietā nav nekas.

Paulinja ieteikuma gadījumā parādās MySQL errors.

Nu nekas, rīt ar svaigu galvu paskatīšos ko var darīt.

 

 

bet logjiski ka resource id#3 vai kautka ta ;)

jaaapstraasda tachu pectam rezultaats ari ir:

 

mysql_fetch_object(); piemeeram.

 

 

un vispaar nafig jaraksta shitaa??? :

$virsraksts = mysql_query("SELECT * FROM jaunumi WHERE virsraksts") 
	 or die(mysql_error()); 
$teksts = mysql_query("SELECT * FROM jaunumi WHERE raksts") 
	or die(mysql_error());

 

papriekhsu man liekas ka bishku japalasa teoriija par datubazem, tabulaam un ka pareizi tas organizeet

 

$labot = mysql_query("SELECT * FROM jaunumi WHERE raksta_id = '2'") 
	 or die(mysql_error()); 
$dati = mysql_fetch_object($labot);

 

un talaak liekam forma iekshaa:

<input type="text" name="virsraksts" value = "<?=$dati['virsraksts']?>">

<textarea name="raksts"><?=$dati['raksts']"?></textarea>

 

 

PS rakstu no galvas nu bez parbaudiishanas - bet ideju vajadzeetu sparast...

Link to comment
Share on other sites

SELECT * FROM raksti WHERE id='666'
UPDATE raksti SET virsraksts='jauns virsraksts', teksts='jauns teksts' WHERE id='666'

 

 

LordRamex - mysql_fetch_object NEKAD neatgriezīs masīvu, kā tas ir tavā piemērā.

 

ja lieka mysql_fetch_object tad attiecīgi izvade būs $obj->var

Link to comment
Share on other sites

×
×
  • Create New...