Jump to content
php.lv forumi

Update visas rindas


nikidijs

Recommended Posts

Labvakar.

 

Piemēram ir tabula - lietotaji:

 

|id| name |rank |

|--|--------|------|

|1 |Janis |user |

|2 |Juris |user |

|3 |Valdis |moder |

|4 |Peteris |admin |

 

Visu sarakstu un formu izvadu šādi:

<?php
$users=mysql_query("SELECT * FROM lietotaji");
echo"<form action='' method=post>";

for ($i=0; $<mysql_num_rows($users)) {
$user=mysql_fetch_array($users);

echo"<tr>
<td>".$user['id']."</td><td>".$user['name']."</td><td><select name=rank><option value=1>user<option value=2>moder<option value=3>admin</select></td>";
<input type=hidden name=id value='".$user['id']."'>
}

echo"<input type=submit name=save value='Save'>
</form>";

?>

Vajag tā lai updeito visus lietotājus, attiecīgi to rangu kas viņam pretī uzlikts

 

Es to daru šādi:

<?php
if ($_POST['save']) {

mysql_query("UPDATE lietotaji SET rank='".$_POST['rank']."' WHERE id='".$_POST['id']."'");
}
?>

 

Taču šajā gadijumā tiek updeitots tikai pēdējais, proti - Peteris.

Gan jau kautkur kkas pietrūkst, vai ne tādā secībā. Jūstu ka nav nekas katastrofāli sarežģīts, taču kā sameklēt - ar nemācēju. Ceru uz Jūsu palīdzību. Paldies :)

Link to comment
Share on other sites

Nja, ar šito tā ar netiku skaidrībā.

Nedaudz sarežģiju - submitu ieliku pie katra usera.

Tagad sanāks labot katru pa vienam :(

Ar jau nekas traks - tik ierakstu diezgan daudz, un ja

pavairāk jālabo, tad sanāk diezgan daudz braukāt augšā lejā :/

 

Varbūt ir kāds veids, kā pēc formas izpildes, nonāku tajā pašā lapas vietā?

Link to comment
Share on other sites

nu protams ka updeitos tikai pedejo ;)

jo forma cikla tiek genereti VISI useri piedevam tev tur buus 4 !!! hiden lauki kuru nosaukums buus ID

$users=mysql_query("SELECT * FROM lietotaji");
...
for ($i=0; $<mysql_num_rows($users)) {
$user=mysql_fetch_array($users);
....
<input type=hidden name=id value='".$user['id']."'>

uzliec no Hiden uz text un pskaties kas tev tur notiek ...

Tapec izmanto MASIVU kur katram laukam pieliec generetu masiva id]

// pirms for cikla ieliec  $nr=0;
echo"<tr>
<td>".$user['id']."</td><td>".$user['name']."</td><td><select name=rank[$nr]><option value=1>user<option value=2>moder<option value=3>admin</select></td>";
<input type=hidden name=id[$nr] value='".$user['id']."'>
$nr++;

 

un attieciigi arii Updeito ciklaa (noskaidro cik masiva elementu ir un attieciigi cikla palaid to SQL update kveriju

 

edit: piedevam iesaku izvairiities no konstrukcijas name=id ja jau gribas izmantot rezervetos vardus tad OBLIGATI pedinjas name="id"

Edited by Grey_Wolf
Link to comment
Share on other sites

Nu principā, man laikam par agru šo saprast.

Lai nu kā, paldies par palīdzību, bet piemeklēju citu, noderīgu variantu...

 

Grey_Wolf - tas name=id, par to jau itkā biju dzirdējis, šeit tik minēju kā piemēru, īstajā skriptā pavisam citi neimi :)

 

Katrā ziņā, paldies par veltīto laiku :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...