query binnen js functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joren vh

joren vh

27/12/2013 12:10:56
Quote Anchor link
Hallo,

Aangezien het zowel php als javascript betreft maar hoofdzakelijk php is heb ik het in deze categorie geplaatst.

Ik maak gebruik van een js libary die het schudden met mijn mobile device detecteert.
Nu als dit gebeurt moet er een query uitvoerd worden binnen php, maar hoe kan ik dit doen binnen mijn javascript code?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$(this).gShake(function() {
                  //alert("shaked");
                  var random = Math.floor(Math.random()*10);
                  $(".test123").text(random);
                  
                  $("#test1234").html('<?php
                  echo "shaked";
                  ?>
');
                  
            });

Het random getal generen werkt perfect, maar als test probeer ik dus nu "shaked" op het scherm af te drukken ipv van mijn query uit te voeren dus dat stukje moet mijn php query worden. Maar dit wil dus niet werken.

Op welke manier moet ik dit gaan doen?

Mvg,
Joren
 
PHP hulp

PHP hulp

22/12/2024 02:46:36
 
Erwin H

Erwin H

27/12/2013 12:13:40
Quote Anchor link
Met ajax. Javascript draait namelijk op je device en php op de server, die kan je niet zomaar mengen.
 
Joren vh

joren vh

27/12/2013 12:21:46
Quote Anchor link
Dus als ik het goed begrijp moet ik binnen dat stukje code via javascript een ajax call doen naar een .php bestand waar mijn query dan instaat?
Ik heb reeds met ajax gewerkt (json) dan in het specifiek, maar hoe moet het dan verder? zie commentaar in onderstaande code.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$.ajax({
    url: "mijn-query.php",        
    dataType: "jsonp", //ik heb al met json gewerkt maar welke datatype moet ik dan meegeven voor mijn php bestand?
    success: function(json) {
        //hoe moet ik het hier gaan opvangen dan zodat hij die query uitvoert?
         }
});


Toevoeging op 27/12/2013 16:28:06:

Ok ik ben nog een paar stappen verder geraakt.
Ik haal nu via ajax een php bestand op waar mijn connectie inzit + de code om mijn foto op te halen.
Enkel voert hij mijn success functie niet uit en krijg ik dus geen data op mijn scherm terug.

Maar als ik naar de netwerk tap ga in de developers tool van chrome en daar sql.php selecteer word daar wel mijn foto weergegeven, nu wil ik deze dus ook in mijn pagina tonen maar ik zie mijn fout niet.

code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$.ajax({
                    type: "POST",
                    url: 'sql.php',
                    data: "html",
                    dataType: "json",
                    success: function(data) {
                        console.log("Success!");
                        console.log(data);
                    }
                });


sql.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php  

$connect
= new mysqli('localhost', 'root', 'root', 'ioutfit');
    $result = $connect->query('SELECT * from tblFotos WHERE seisoon = "zomer" ORDER BY rand() LIMIT 1' );
    while($row = $result->fetch_array()) {
        echo '<img src="data:image/jpeg;base64,' . base64_encode($row['foto']) . '" width="20%" height="20%"/>';
        echo '<br>';
    }

?>


Iemand die ziet waar ik de fout in ga of ergens iets mis?
 
Aron van W

Aron van W

27/12/2013 17:04:22
Quote Anchor link
Upload dit even naar een webserver zodat we dit zelf kunnen testen, of geef een SQL-uitdraai uit PHPMyAdmin.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/12/2013 17:34:56
Quote Anchor link
dataType: 'json' verwacht een json string terug en geen pure html, verander dit dus in: dataType: 'html'
 
Joren vh

joren vh

28/12/2013 00:37:16
Quote Anchor link
Opgelost!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.