Jump to content
php.lv forumi

sortable list un galbāšana datubāzē


ziedinjsh
 Share

Recommended Posts

Sveiki! Es te cīnos un un īsti netieku skaidrībā!

no datubāzes izvad bildes:

<ul id="photolist">
<?php
if ($result = $db->query("select * from photos where cat='kids' order by aid desc")){
	if ($result->num_rows > 0){
		while ($data = $result->fetch_array()){
		?>
			<li class="ui-state-default" id="photo_<?php echo $data['pid']; ?>"><img src="../photos/300/<?php echo $data['name'];?>"/></li>
		<?php
		}
	}
}		
?>
<div class="fix"></div>
</ul>

jQuery:

jQuery(function(){
jQuery( "#photolist" ).sortable({
		update: function(event, ui){
			jQuery.post('save.php?w=sortable', { photos: jQuery('#photolist').sortable('serialize') }, function(re){
				console.log(re);
			});
		}	
	});
    	jQuery( "#photolist" ).disableSelection();
});

php:

if($w=='sortable'){

$photos = parse_str($_POST['photos'], $photoOrder);

	foreach ($photoOrder['photos'] as $key => $value) {	    
		$update = "update photos set sort='$key' where pid='$value'";
		$updated = mysqli_query($db,$update) or die("Error: ".mysqli_error($db));
			if (!$updated) {
				echo 'error';
			}
	}

}

Pārvietojot bildi console.log parād šo:

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/ebphotog/public_html/adm/save.php</b> on line <b>168</b><br />
 
Kas tur pa vainu?
 
P.S. Paldies jau iepriekš!
Link to comment
Share on other sites

  • Replies 49
  • Created
  • Last Reply

Top Posters In This Topic

Vaina tāda, ka foreacham tiek padots arguments, kas nav masīvs (vai kāds cits iterējams tips), ko arī tev kļūdas paziņojums pasaka!

 

Ver vaļā save.php 166 līniju un ar var_dump skaties kāds ir $_POST['photos'] mainīgais un kāpēc viņš netiek pārtaisīts var masīvu

Link to comment
Share on other sites

Labi, paldies, strādā tagad, bet kā tagad izvadīt lai viņš rādā tā kā ir sakārtots?
šobrīd man ir šādi:

<ul id="photolist">
<?php
if ($result = $db->query("select * from photos where cat='kids' order by sort asc")){
	if ($result->num_rows > 0){
		while ($data = $result->fetch_array()){
		?>
			<li class="ui-state-default" id="<?php echo $data['pid']; ?>"><img src="../photos/300/<?php echo $data['name'];?>"/></li>
		<?php
		}
	}
}		
?>
<div class="fix"></div>
</ul>
Link to comment
Share on other sites

Update kverijā nevajadzētu būt problēmai.

Nesmuki, protams, ka tu hardkodē variabļus, tas ir ļoti viegli eksploitojams, bet tehniski kverijs nav nepareizs. Vienīgi pid vērtībai nevajadzētu būt pēdiņās.

Tu salīdzināji ar AJAX aizsūtītos datus ar lapas output pēc refresh?

Edited by jurchiks
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...
 Share


×
×
  • Create New...