Anzeige

Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ

Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ | PSD-Tutorials.de

Erstellt von Ossipower, 28.05.2010.

  1. Ossipower

    Ossipower Nicht mehr ganz neu hier

    Dabei seit:
    17.05.2008
    Beiträge:
    77
    Geschlecht:
    männlich
    Ort:
    Krefeld
    Software:
    Zurzeit probiere ich alles durch!
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    Tach Jungs,

    brauch mal wieder eure hilfe.


    nachdem ich das problem "ajax request" mit eurer hilfe gelöst habe, ist mir aufgefallen, daß ich die einzelnen daten nicht formatieren kann.

    also ich rufe die daten aus der datenbank ab (artikeltitel und artikeltext) und gib diese im div "content" aus.


    index.php
    Code (Text):
    1.  
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3.  
    4. <head>
    5. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    6. <title>Kampagne 2010</title>
    7.  
    8. <link rel="stylesheet" href="css/template.css" type="text/css" />
    9.  
    10. <script src="http://code.jquery.com/jquery-latest.js"></script>
    11. <script type="text/javascript" src="js/jTypeWriter.js"></script>
    12.  
    13.  
    14. <script language="javascript">
    15. $(document).ready( function() {
    16.                            
    17.     $('form[name="ajax"]').submit(function(){
    18.                                                  
    19.         var text = $(this).serialize();
    20.        
    21.         // ajax starten
    22.         $.ajax({
    23.             type: 'POST',
    24.             url: 'abfrage_artikel.php',
    25.             data: text,
    26.             success: function(data) {
    27.                 $('#content').html(data);
    28.                 $('#content').show().jTypeWriter();
    29.                
    30.             }
    31.         });
    32.         return false;
    33.     });                            
    34. });
    35. </script>
    36.  
    37. </head>
    38.  
    39. <body>                  
    40. <form methode="post" name="ajax">
    41.     <input type="hidden" name="hiddenValue1" value="Die neue Galaxie" />
    42.     <button type="submit" id="send" name="send" value="senden">senden</button>
    43. </form>
    44.  
    45.  
    46.          
    47. <div id="content" style="display: none;">
    48.  
    49. </div>
    50.  
    51. </body>
    52. </html>
    53.  
    abfrage_artikel.php

    Code (Text):
    1.  
    2. <?php
    3.  
    4. header('Content-type: text/html; charset=ISO-8859-1');
    5.  
    6. include("connect.inc.php");
    7.  
    8. $connection = @mysql_connect($_db_host,$_db_username,$_db_passwort);
    9.  
    10. mysql_select_db($_db_datenbank)
    11.  
    12. or die ("Die Datenbank existiert nicht.");
    13.  
    14. if ($_POST['hiddenValue1'])
    15. {
    16.     $_artikeltitel = mysql_real_escape_string($_POST['hiddenValue1']);
    17.     $abfrageArtikel = "SELECT artikeltitel, artikeltext FROM artikel WHERE artikeltitel='$_artikeltitel'";
    18.     $ergebnisArtikel = mysql_query($abfrageArtikel);
    19.        
    20.     $inhalt = ' ';
    21.  
    22.     while($rowArtikel = mysql_fetch_object($ergebnisArtikel)) {
    23.         $inhalt .= $rowArtikel->artikeltitel .' '. $rowArtikel->artikeltext ."\n";
    24.     }
    25.  
    26.     [COLOR=Red]if($inhalt) {
    27.          echo $inhalt;
    28.     } else {
    29.          echo 'Keine Daten vorhanden';
    30.     }[/COLOR]
    31.  
    32. }  
    33.  
    34. mysql_close($connection);
    35.  
    36. ?>
    37.  
    um jetzt die ausgabe "$inhalt" in artikeltitel und artikeltext aufzusplitten muß oder sollte ich "Json" benutzen. um jetzt den string ausgeben zu können muß ich das rot geschriebene mit "print json_encode($inhalt);" ersetzen.

    ich hoffe das ist richtig bis jetzt.

    und hat jetzt jemand einen tip, wie ich diese daten in zwei div´s anzeigen lassen kann. das "ajax-request" sollte aber bestehen bleiben.


    ich danke euch im voraus.

    gruß
    ossipower
     
    #1      
  2. herby1973

    herby1973 Noch nicht viel geschrieben

    Dabei seit:
    16.06.2009
    Beiträge:
    7
    Geschlecht:
    männlich
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    AW: Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json,

    Hi,

    wenn ich das richtig verstanden habe, dann einfach nur $inhalt nicht als String sondern als Array benutzen.

    Also:

    in abfrage_artikel.php

    $inhalt['div1'] = 'Hier der Inhalt von Div 1';
    $inhalt['div2'] = 'Hier der Inhalt von Div 2';

    echo json_encode($inhalt);

    und in index.php
    $('#contentdiv1').html(data.div1);
    $('#contentdiv2').html(data.div2)
     
    Zuletzt bearbeitet: 28.05.2010
    #2      
  3. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    AW: Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json,

    Hi,

    du musst das als json-String verpackt zurück geben. Das bedeutet letztlich:
    Die Produktdaten werden als Array gefaltet und das wiederum in einen json-string. Dieser sieht z.B. wie folgt aus:
    PHP:
    1.  
    2. <?php
    3. $produkt =array('name' => 'produkt', 'preis', '10,20 EUR');
    4. $return = json_encode($produkt);
    5.  
    6. /* ausgabe print oder echo */
    7. echo $produkt;
    8. ?>
    9.  
    Wichtig dabei ist, dass du in deiner ajax-Funktion noch den "dataType: 'json'," nach der url einbettest.

    Die Rückgabe - also der callback - enthält nun ein Javascript-Object. Auf dieses greifst du im success wie foglt zu:
    Code (Text):
    1.  
    2. .....
    3. success: function(data) {
    4.  $('#box-a').html(data..namen);
    5.  $('#box-b').html(data..preis);
    6. },
    7. error: function(msg) {
    8.  alert('Fehler: '+ msg);
    9. }
    10. ....
    11.  
    Wenn du das nun nicht alles verstanden hast, gibt es hier noch weitere Infos: PHP: JSON - Manual
     
    Zuletzt bearbeitet: 28.05.2010
    #3      
  4. Ossipower

    Ossipower Nicht mehr ganz neu hier

    Dabei seit:
    17.05.2008
    Beiträge:
    77
    Geschlecht:
    männlich
    Ort:
    Krefeld
    Software:
    Zurzeit probiere ich alles durch!
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    so ich habe mal beide tipps ausprobiert. es hat aber nicht funktioniert.

    index.php

    Code (Text):
    1. <script language="javascript">
    2.  
    3. $(document).ready( function() {                            
    4.     $('form[name="ajax"]').submit(function(){                    
    5.         $.ajax({
    6.             type: 'POST',
    7.             url: 'abfrage_artikel.php',
    8.             data: 'json',
    9.             success: function(data) {
    10.                 $('#content').html(data);
    11.                 $('#content_1').html(data.titel);
    12.                 $('#content_2').html(data.text);
    13.             }
    14.         });
    15.         return false;
    16.     });                            
    17. });
    18.  
    19. </script>
    20.  
    21. </head>
    22.  
    23. <body>    
    24.              
    25. <form methode="post" name="ajax">
    26.     <input type="hidden" name="hiddenValue1" value="Die neue Galaxie" />
    27.     <button type="submit" id="send" name="send" value="senden">senden</button>
    28. </form>
    29.  
    30. <div id="content">
    31.  
    32. </div>
    33.  
    34. <div id="content_1">
    35.  
    36. </div>
    37.  
    38. <div id="content_2">
    39. </div>
    40.  
    41. </body>
    42. </html>
    abfrage_artikle.php - TEST 1

    Code (Text):
    1. <?php
    2.  
    3. header('Content-type: text/html; charset=ISO-8859-1');
    4.  
    5. include("connect.inc.php");
    6.  
    7. $connection = @mysql_connect($_db_host,$_db_username,$_db_passwort);
    8.  
    9. mysql_select_db("fighters")
    10.  
    11. or die ("Die Datenbank existiert nicht.");
    12.  
    13. if ($_POST['hiddenValue1'])
    14. {
    15.     $_artikeltitel = mysql_real_escape_string($_POST['hiddenValue1']);
    16.     $abfrageArtikel = "SELECT artikeltitel, artikeltext FROM artikel WHERE artikeltitel='$_artikeltitel'";
    17.     $ergebnisArtikel = mysql_query($abfrageArtikel);
    18.        
    19.     while($rowArtikel = mysql_fetch_array($ergebnisArtikel)) {
    20.         $inhalt[titel] = $rowArtikel->artikeltitel;
    21.         $inhalt[text] = $rowArtikel->artikeltext;
    22.     }
    23.    
    24.    
    25.     echo json_encode($inhalt);
    26.    
    27. }  
    28.  
    29. mysql_close($connection);
    30.  
    31. ?>
    abfrage_artikel.php - TEST 2

    Code (Text):
    1. <?php
    2.  
    3. header('Content-type: text/html; charset=ISO-8859-1');
    4.  
    5. include("connect.inc.php");
    6.  
    7. $connection = @mysql_connect($_db_host,$_db_username,$_db_passwort);
    8.  
    9. mysql_select_db("fighters")
    10.  
    11. or die ("Die Datenbank existiert nicht.");
    12.  
    13. if ($_POST['hiddenValue1'])
    14. {
    15.     $_artikeltitel = mysql_real_escape_string($_POST['hiddenValue1']);
    16.     $abfrageArtikel = "SELECT artikeltitel, artikeltext FROM artikel WHERE artikeltitel='$_artikeltitel'";
    17.     $ergebnisArtikel = mysql_query($abfrageArtikel);
    18.        
    19.     while($rowArtikel = mysql_fetch_object($ergebnisArtikel)) {
    20.         $artikeltitel .= $rowArtikel->artikeltitel;
    21.         $artikeltext .= $rowArtikel->artikeltext;
    22.     }
    23.    
    24.     $inhalt = array('titel' => '$artikeltitel', 'text' => '$artikeltext');
    25.     $return = json_encode($inhalt);
    26.  
    27.     echo $return;
    28.    
    29. }  
    30.  
    31. mysql_close($connection);
    32.  
    33. ?>
    Firebug zeigt mir in der konsole -> post jetzt "json" an vorher wurde "Die neue Galaxie" übermittelt.

    aus diesem grund bekomme ich deshalb bestimmt keine antwort. firebug->konsole->antwort ist leer.

    habe jetzt "DataType" eingesetzt. hatte ich vergessen. bin so ein depp.

    aber meine ausgabe funktioniert noch nicht, die anfrage ja.

    mein aktueller stand.

    index.php

    Code (Text):
    1. <script src="http://code.jquery.com/jquery-latest.js"></script>
    2. <script type="text/javascript" src="js/jTypeWriter.js"></script>
    3.  
    4.  
    5. <script language="javascript">
    6.  
    7. $(document).ready( function() {                            
    8.     $('form[name="ajax"]').submit(function(){
    9.        
    10.         var text = $(this).serialize();
    11.        
    12.         $.ajax({
    13.             type: 'POST',
    14.             url: 'abfrage_artikel.php',
    15.             dataType: 'json',
    16.             data: text,
    17.             success: function(data) {
    18.                 $('#content').html(data);
    19.                 $('#content_1').html(data.titel);
    20.                 $('#content_2').html(data.text);
    21.             }
    22.         });
    23.         return false;
    24.     });                            
    25. });
    26.  
    27. </script>
    28.  
    29. </head>
    30.  
    31. <body>    
    32.              
    33. <form methode="post" name="ajax">
    34.     <input type="hidden" name="hiddenValue1" value="Die neue Galaxie" />
    35.     <button type="submit" id="send" name="send" value="senden">senden</button>
    36. </form>
    37.  
    38. <div id="content" style="display: none;">
    39. </div>
    40.  
    41. <div id="content_1" style="display: none;">
    42. </div>
    43.  
    44. <div id="content_2" style="display: none;">
    45. </div>
    46.  
    47. </body>
    48. </html>
    abfrage_artikel.php

    Code (Text):
    1. <?php
    2.  
    3. header('Content-type: text/html; charset=ISO-8859-1');
    4.  
    5. include("connect.inc.php");
    6.  
    7. $connection = @mysql_connect($_db_host,$_db_username,$_db_passwort);
    8.  
    9. mysql_select_db("fighters")
    10.  
    11. or die ("Die Datenbank existiert nicht.");
    12.  
    13. if ($_POST['hiddenValue1'])
    14. {
    15.     $_artikeltitel = mysql_real_escape_string($_POST['hiddenValue1']);
    16.     $abfrageArtikel = "SELECT artikeltitel, artikeltext FROM artikel WHERE artikeltitel='$_artikeltitel'";
    17.     $ergebnisArtikel = mysql_query($abfrageArtikel);
    18.        
    19.  
    20.      while($rowArtikel = mysql_fetch_array($ergebnisArtikel)) {
    21.         $artikeltitel[] = $rowArtikel;
    22.         $artikeltext[] = $rowArtikel->artikeltext;
    23.     }
    24.    
    25.     $produkt = array('titel' => 'artikeltitel', 'text' => '$artikeltext');
    26.     $return = json_encode($produkt);
    27.  
    28.     echo $return;
    29.    
    30. }  
    31.  
    32. mysql_close($connection);
    33.  
    34. ?>
    mein problem ist jetzt, wie ich titel und text mit den daten aus der datenbank füllen kann.

    habe jetzt die abfrage_artikel.php geändert


    Code (Text):
    1. while($rowArtikel = mysql_fetch_array($ergebnisArtikel)) {
    2.         $produkt = array('titel' => $rowArtikel["artikeltitel"], 'text' => $rowArtikel["artikeltext"]);
    3.      }
    "titel" wird jetzt auch ausgegeben aber "text" ist null.

    hat jemand einen tipp?

    gruß
    ossipower

    habe es jetzt hinbekommen, daß die daten angezeigt werden.

    Code (Text):
    1.  while($rowArtikel = mysql_fetch_array($ergebnisArtikel)) {
    2.          $inhalt = array ("titel" => ($rowArtikel["artikeltitel"]), "text" => ($rowArtikel['artikeltext']));
    3.      }
    4.    
    5.     $return = json_encode($inhalt);
    6.  
    7.     echo $return;
    8.    
    aber es gibt noch ein problem. wenn ich umlaute und ß im text habe, werden keine daten im array gespeichert. firebug zeigt mir dann "null".

    wie kann ich dieses problem lösen?

    gruß
    ossipower
     
    Zuletzt von einem Moderator bearbeitet: 29.05.2010
    #4      
  5. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    AW: Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json,

    Im Grunde hast du auch einen Fehler bei der Datenverarbeitung aus dem DB-Result.

    Du verwendest die Objektzuweisen, obgleich du mysql_fetch_array anstatt mysql_fetch_object verwenden solltest.

    Hier mal das korrekte Beispiel:
    PHP:
    1.  
    2. <?php
    3. /* post ggf. vorprüfen auf integer */
    4. if(isset($_POST['hiddenValue1']) && $_POST['hiddenValue1'] != '') {
    5.    
    6.     $_artikelId = mysql_real_escape_string($_POST['hiddenValue1']);
    7.    
    8.     /*
    9.      * es ist extrem performanter sowohl auf DB-Ebene als auch in der
    10.      * Scriptverarbeitung, wenn ein integer übergeben wird. Also die Artikel-Id
    11.      */
    12.     $abfrageArtikel = mysql_query('SELECT
    13.                                        artikeltitel,
    14.                                        artikeltext
    15.                                    FROM
    16.                                        artikel
    17.                                    WHERE
    18.                                        artikel_id = "'. mysql_real_escape_string($_artikelId) .'"');
    19.     /* prüfen ob ein Ergebnis vorhanden */
    20.     if(mysql_num_rows($abfrageArtikel)) {
    21.         /* als array zuweisen */
    22.         $results         = mysql_fetch_array($ergebnisArtikel);
    23.        
    24.         /* prüfen ob array-Daten vorhanden */
    25.         if($results['artikeltext'] != '') {
    26.             $produkt = array('errorMsg' => '', 'text' => $results['artikeltext'], 'title' => $results['artikeltitel']);
    27.             $return = json_encode($produkt);
    28.         } else {
    29.             $produkt = array('errorMsg' => 'Fehler bei der Datenlieferung');
    30.             $return = json_encode($produkt);
    31.         }
    32.    
    33.         echo $return;
    34.     } else {
    35.         $produkt = array('errorMsg' => 'Dieses Proukt gibt es nicht mehr');
    36.         $return = json_encode($produkt);
    37.     }
    38. }
    39.  
    40. echo $return;
    41. ?>
    42.  
     
    #5      
  6. Ossipower

    Ossipower Nicht mehr ganz neu hier

    Dabei seit:
    17.05.2008
    Beiträge:
    77
    Geschlecht:
    männlich
    Ort:
    Krefeld
    Software:
    Zurzeit probiere ich alles durch!
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    AW: Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json,

    jaja saila, was würde ich nur ohne dich machen. :D

    ich habe jetzt in der index.php folgendes geändert:

    Code (Text):
    1. <input type="hidden" name="hiddenValue1" value="[COLOR=Red]Die neue Galaxie[/COLOR]" />
    Code (Text):
    1. <input type="hidden" name="hiddenValue1" value="[COLOR=Red]1[/COLOR]" />
    dann habe ich den code in meiner abfrage_artikel.php mit deinem code ausgetauscht.

    ich bekomme jetzt keine ausgabe mehr. im firebug->antwort habe ich folgendes:

    Code (Text):
    1. <style>.bpe a:link, .bpe a:visited, .bpe a:active { color: #0b4c8e; text-decoration: none; } .bpe a:hover { color: #0D7CEC; }</style>
    2. <span class="bpe" style="font: 11px/1.2em Verdana, sans-serif;"><br />
    3. <b>Warning</b>:  mysql_fetch_array() expects parameter 1 to be resource, null given in <b>/users/fighters/www/game/abfrage_artikel.php</b> on line <b>30</b><br />
    4. </span>{"errorMsg":"Fehler bei der Datenlieferung"}{"errorMsg":"Fehler bei der Datenlieferung"}
    5.  
    muß ich noch etwas einfügen?

    gruß
    ossipower
     
    #6      
  7. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    AW: Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json,

    das sieht vielmehr danach aus, als würde ein html-Element nicht korrekt geschlossen sein. Prüf noch mal den Code ab dem javascript-Teil.
     
    #7      
  8. Ossipower

    Ossipower Nicht mehr ganz neu hier

    Dabei seit:
    17.05.2008
    Beiträge:
    77
    Geschlecht:
    männlich
    Ort:
    Krefeld
    Software:
    Zurzeit probiere ich alles durch!
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    AW: Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json,

    hmmm, daß sieht ok aus. ist auch nicht viel drin.

    im firebug unter konsole -> html steht folgendes:

    Code (Text):
    1. [B]Warning[/B]:   mysql_fetch_array() expects parameter 1 to be resource, null given in [B]/users/fighters/www/game/abfrage_artikel.php[/B]  on line [B]30[/B]
    2. {"errorMsg":"Fehler bei der Datenlieferung"}{"errorMsg":"Fehler  bei der Datenlieferung"}
    aber auch da fällt mir nichts auf.


    wenn ich jetzt beim button in value statt der 1 einen text eingebe dann bekomme ich die fehlermeldung "Dieses Proukt gibt es nicht mehr." was ja auch richtig ist. dann kann ja nur der fehler bei der übergabe der artikel_id sein.

    denke ich mal. oder?
     
    Zuletzt bearbeitet: 29.05.2010
    #8      
  9. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    AW: Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json,

    Naja, mein Vorschlag beruht ja auf der Tatsache, dass eine Artikel-Id übergeben wird. Die Frage ist nun, wie hast du den query angepasst und prüfst du bei der Übergabe auch auf > 0 oder (int) oder is_int oder is_integer.

    Abgesehen davon musst du deinen success insofern anpassen, dass darin eine if/else if vorhanden ist. In der if prüfst du
    Code (Text):
    1.  
    2. if(data.errorMsg != '') {
    3.  // hier ggf. einen Layer per $('#layer').html(data.errorMsg).sho().fadeOut(6000); einbinden
    4. // in dem Layer kannst du dann
    5. } else {
    6.  // hier die normale Zuweisung per Selector
    7. }
    8.  
     
    #9      
  10. Ossipower

    Ossipower Nicht mehr ganz neu hier

    Dabei seit:
    17.05.2008
    Beiträge:
    77
    Geschlecht:
    männlich
    Ort:
    Krefeld
    Software:
    Zurzeit probiere ich alles durch!
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    hi saila,

    immer wenn ich denke, daß ich die lösung fast habe, haust du mein hirn durch den fleischwolf und ich muß es erstmal wieder zusammensetzen. :D

    aber find ich gut. von nichts kommt nichts.

    so jetzt weiter im thema. um ehrlich zu sein, hab ich nichts angepasst. ich habe gedacht, daß es egal ist ob ich buchstaben oder zahlen übermittle, da ich davon ausgegangen bin, daß es auch so geht.

    so habe jetzt meine success angepasst. klappt super.

    um den inhalt eines input fields auf integer zu setzen, reicht es aus, wenn ich class="integer" einfüge oder ist dies eine css klasse?



    samstag, 12 juni 2010

    hi, saila.

    ich habe jetzt eine lösung gefunden. ich habe jetzt erstmal die lösung von herby1973 aufgegriffen, da ich bei deinem lösungsansatz an meine grenzen gestoßen bin.

    erstmal zu meinem problemen und dann zeige ich meine lösung.

    mein problem ist, daß ich nicht weiß, wie ich die eingabe auf eine zahl prüfen kann.
    ich habe folgendes probiert:

    PHP:
    1. if(isset($_POST['hiddenValue1']) && $_POST['hiddenValue1'] != '') {
    in

    PHP:
    1. if(is_int($_POST['hiddenValue1']) && $_POST['hiddenValue1'] != '') {
    geändert.

    führte aber zu keinem ergebniss. um die wahrheit zu sagen, ich habe diese zeile noch nicht kappiert. kannst du mir diese zeile genauer beschreiben?

    aus diesem grund habe ich mich mal dem anderen lösungsvorschlag zugewandt.

    mein problem war ja, das eine variable angezeigt wurde und die zweite nicht. die lösung war einfach. :D

    wenn ich es richtig verstanden hatte, lag es an der kommunikation zwischen client und server. also auf welcher zeichkodierung die abfrage abläuft ich habe dann
    PHP:
    1. mysql_query("SET NAMES 'utf8'");
    2. mysql_query("SET CHARACTER SET 'utf8'");
    3.  
    in meine abfrage_artikel.php eingesetzt

    abfrage_artikel.php:
    PHP:
    1. <?php
    2. header("content-type: text/html; charset=utf-8");
    3.  
    4. include("connect.inc.php");
    5.  
    6. $connection = @mysql_connect($_db_host,$_db_username,$_db_passwort);
    7.  
    8. mysql_select_db($_db_datenbank, $connection)
    9.  
    10.  
    11. or die ("Die Datenbank existiert nicht.");
    12.  
    13. mysql_query("SET NAMES 'utf8'");
    14. mysql_query("SET CHARACTER SET 'utf8'");
    15.  
    16. if ($_POST['hiddenValue1'])
    17. {
    18.     $_artikelid = mysql_real_escape_string($_POST['hiddenValue1']);
    19.     $abfrageArtikel = "SELECT * FROM artikel WHERE artikelid='$_artikelid'";
    20.     $ergebnisArtikel = mysql_query($abfrageArtikel);
    21.        
    22.     $artikel = '';
    23.  
    24.     while($rowArtikel = mysql_fetch_array($ergebnisArtikel)) {
    25.         $artikel['titel'] = $rowArtikel ['artikeltitel'];
    26.         $artikel['text'] = $rowArtikel ['artikeltext'];
    27.     }        
    28. }  
    29.  
    30. echo json_encode($artikel);
    31.  
    32. mysql_close($connection);
    33. ?>
    34.  
    jetzt habe ich aber folgendes probelm.
    den text in meiner datenbank habe ich mit zeilenumbrüchen geschrieben also mit <br>. meine ausgabe des textes im ajax request ist aber ohne formatierung.

    wie kann ich das ändern?

    deinen lösungsansatz möchte ich auch weiter fortführen, da ich 100 prozentig später auf dieses problem stoße.

    PS: doppelpost tut mir leid. gelobe besserung.

    gruß
    ossipower


    mit der text ausgabe hat es sich erledigt. ich hatte noch ein schreibmaschienen script laufen.
     
    Zuletzt bearbeitet: 12.06.2010
    #10      
  11. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json, jQ
    AW: Ajax Request - Daten aus der Datenbank in unterschiedlichen DIV´s anzeigen-Json,

    1. Vermeide in Zukunft Mehrfachposts. Es gibt hier die Edit-Funktion, in welcher du deinen letzten Beitrag editieren und somit erweitern kannst.

    2. Achte bei meinem Beispiel auf das Datenbankfeld "artikel-id". Das bedeutet, dass du mit dem klick einen Artiekl-id und kein Titel mehr übergeben musst. Abgesehen davon ist der Hinweis von int - is_integer usw. auf php bezogen. Bedeutet, mit dem auslösen des ajax, muss auf der php-Script-Seite auf eine Zahl geprüft werden. Ansonsten erhälst du in meinem Beispiel immer ein errorMsg.

    Am besten wäre es, nehme dir Zeit und lese mein Beispiel mal genau durch. Weil du im Grunde dein Script auch insofern anpassen musst, dass irgendwo ein input-type hidden Element enthalten sein muss, welches zum einen die Artikel ID als value enthält und eine id- oder class-Attribut, über welches du den Selector laufen lässt.
     
    #11      
Seobility SEO Tool
x
×
×