Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: PHP + JQUERY pagalbos...

Parašė lasin· 2012 Gru. 16 11:12:04
#1

Sveiki, susidūriau su viena problema bekurdamas vieną dalyką savo tvs'ui...

Turiu tokį scriptą, kuris pastumdžius paveiksliuką, parodo jo koordinates. Tas dalykas veikia, koordinates parodo.


 ?>
<input type="submit" value="Issaugoti" onclick="javascript:alert('Issaugota : <?php echo "x(' + $('hdnInpTop').get('value') + ')";  ?> / y'+ $('hdnInpLeft').get('value'))"/>
<?php



Taip viskas puikiai atvaizduojama, parodo X ir Y skalės koordinates. Tačiau man reikia, jog X ašies skaičių įrašytų į mysql lentelę...
Mėginau taip :


 ?>
<input type="submit" value="Issaugoti" onclick="javascript:alert('Issaugota : <?php echo "x(' + $('hdnInpTop').get('value') + ')";
$kintamasis = "' + $('hdnInpTop').get('value') + '";
echo"*".$kintamasis."*";
$result = mysql_query("UPDATE lentele SET salala = '$kintamasis' WHERE id ='".$_COOKIE['id']."'");
 ?> / y'+ $('hdnInpLeft').get('value'))"/>
<?php


Čia, kur "echo"*".$kintamasis."*";" tai atvaizduoja tą skaičių puikiai, bet ten, kur reikia jau įterpti į mysql, to skaičiaus nebeišgauna... Va tame ir bėda.. Galbūt žinote sprendimą šiai bėdai? Būtų labai puiku :) Dėkui iš anksto

Parašė avice· 2012 Gru. 17 18:12:02
#2

kažkaip tu čia ašvotai bandai padaryt , duok koda kur išgauni kordinates.

Parašė lasin· 2012 Gru. 17 21:12:05
#3


echo"<script type='text/javascript'>
//<![CDATA[
var cropImage = function(target, container, coordinateContainer, topCoord, leftCoord){
 var img = $(target);
 var imgSizeRatio = img.getSize().x / img.getSize().y;
 var desiredRatio = 83 / 68;
 if (imgSizeRatio > desiredRatio) {
 
 }else{
  img.setStyle('width','1040px'); 
 }
 var myDragScroller = new Drag(container, {
  snap:0,
  style: false,
  invert: true,
  modifiers: {x: 'scrollLeft', y: 'scrollTop'},
  onComplete: function(el){
   var cropCutFromTop = img.getCoordinates($(coordinateContainer)).top;
   var cropCutFromLeft = img.getCoordinates($(coordinateContainer)).left;
    $(topCoord).set('value',cropCutFromTop);
    $(leftCoord).set('value',cropCutFromLeft);
 
  }
 });
}
window.addEvent('load', function(){ // important do not use domReady since we want the image to be loaded
 document.ondragstart = function () { return false; }; //IE drag hack 
 cropImage('imgPhoto', 'crop-iholder', 'crop-holder', 'hdnInpTop', 'hdnInpLeft');
 });
//]]> 
</script>";

Parašė avice· 2012 Gru. 17 22:12:10
#4

Naudok ajax.
http://api.jquery.com/jQuery.post/
O ne visokias pievas isradinek ;D

Parašė lasin· 2012 Gru. 18 14:12:10
#5

Na aš pats asmeniškai nelabai nusimanau su ajax ar jquery, todėl galbūt kuris iš jūsų ką nors žino ,kaip tokio stiliaus dalykui, išgauti ir įrašyt į mysql tą išgautą skaičių?

Parašė Pakartoti slaptažodį· 2013 Sau. 6 13:01:50
#6

Kaip supratau, išvest kintamajį tai išveda, bet jo neįrašo...



$kintamasis = "' + $('hdnInpTop').get('value') + '";
echo "*".$kintamasis."*";
mysql_query("UPDATE lentele SET salala = '".$kintamasis."' WHERE id ='".$_COOKIE['id']."'") or die(mysql_error());


Pamėgink taip, jei kažkas negerai su užklausa, turėtų debug'ą parodyt.

Parašė avice· 2013 Sau. 6 13:01:11
#7

Visvien man kažkaip jus cia keistai darot :D
Štai kažka greit suveliau , turėtu veikt , nebandžiau:
Tarkim php failas pavadinimu: siunciam.php

<?php
// db prisijungimai
if(isset($_POST['ok']) && isset($_COOKIE['id'])) {
$x = $_POST['x'];
$y = $_POST['y'];
// sql uzklausa ir t.t.
$result = @mysql_query("UPDATE lentele SET `x`= '$x',`y`='$y' WHERE id ='".$_COOKIE['id']."'");
echo ($result?'OK':'ERROR');
}else{
echo "NO";
}
?>

Sita tame kitame faile kur tas paveikslelis ir nustatomos kordinates, nustates kordinates paspausi issaugoti.

<input id="issaugoti" type="submit" value="Issaugoti" />
<script>
$("#issaugoti").click(function() {
$.post("siunciam.php", { ok: "1" ,x: $('hdnInpLeft').get('value'), y: $('hdnInpTop').get('value') },
  function(data) {
    if(data=="NO") { alert("Klaida, nenustatytas $_POST['ok'] arba $_COOKIE['id'] !"); }
	if(data=="ERROR") { alert("Klaida ties <span style="border-bottom: 1px dotted black;">mysql</span> uzklausa!"); }
	if(data=="OK") { alert("Duomenys sekmbinai irasyti!"); }
  });
});
</script>