Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe gesucht bei Update von Code

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe gesucht bei Update von Code

    Hallo liebe Gemeinde.
    Ich hab hier einen Code mit dem ich eine Umkreissuche über die GeoDB laufen lasse. Das hat immer toll funktioniert aber nun muss ich das Script umbauen auf mysqli und ich bekomme
    es einfach nicht hin. Hätte jemand von Euch Lust mir hierbei zu helfen?

    Ich sitze schon die ganze Zeit dran aber bekomme keine Ergebnisse mehr aus dem Script :/

    Hier mal der "alte" Code:

    PHP-Code:


    $mysqli 
    mysqli_connect("localhost""USER""PASS""DB");
    if(!
    $mysqli)
    {
      exit(
    "Verbindungsfehler: ".mysqli_connect_error());
    }

    $zip $_GET['zip'];
    $range $_GET['range'];


    // Die Werte für die Radius-Auswahl
    $selectableRanges = array(105075100);

    // Eingaben prüfen
    $selectedZip '';
    $selectedRange '';
    if (
    array_key_exists('zip'$_GET) && $_GET['zip']) {
      
    $selectedZip intval($_GET['zip']);
    }
    if (
    array_key_exists('range'$_GET) && $_GET['range']) {
      
    $selectedRange intval($_GET['range']);
    }

    // Ergebnisse berechnen
    $results false;
    if (
    $selectedZip && $selectedRange) {

      
    $results find_by_zip_and_range($selectedZip$selectedRange);
    }

    function 
    find_by_zip_and_range($zip$rangeInKm) {
      
    $target geocode_zip($zip);
      if (
    $target) {
        
    $sql generate_query($target->lat$target->lngintval($rangeInKm));
        
    $results db_query($sql);
        return 
    $results;
      }
      else {
        return 
    false;
      }
    }

    function 
    geocode_zip($zip) {
      
    $zip intval($zip);
      
    $zip $zip str_repeat('0'5-strlen($zip));

      
    $results db_query("SELECT `lat`, `lng`
                            FROM `geodb` ORDER BY ABS(`zipcode`-
    {$zip}) ASC LIMIT 1");
      return 
    $results[0];
    }

    function 
    generate_query($lat$lng$distanceInKm) {
      
    $lng1 $lng $distanceInKm/abs(cos($lat*pi()/180)*111.04);
      
    $lng2 $lng $distanceInKm/abs(cos($lat*pi()/180)*111.04);
      
    $lat1 $lat-($distanceInKm/111.04);
      
    $lat2 $lat+($distanceInKm/111.04);
      return 
    'SELECT tour.*, 6371 * 2 * ASIN(SQRT(POWER(SIN(RADIANS('$lat
             
    ' - ABS(geodb.lat))), 2) + COS(RADIANS('$lat
             
    ')) * COS(RADIANS(geodb.lat)) * POWER(SIN(RADIANS('
             
    $lng .' - geodb.lng)), 2))) AS distance'
             
    ' FROM tour'
             
    '   LEFT JOIN geodb ON tour.plz = geodb.zipcode'
             
    ' WHERE tour.active AND tour.datum > NOW()'
             
    ' AND geodb.lng BETWEEN '$lng1 .' AND '$lng2
             
    ' AND geodb.lat BETWEEN '$lat1 .' AND '$lat2
             
    ' GROUP BY tour.datum'
             
    ' HAVING distance < '$distanceInKm
             
    ' ORDER BY distance ASC';
    }

    function 
    db_connect() {
        global 
    $config;
        static 
    $db null;

        if (!
    $db) {
            
    $db mysql_connect($config['host'], $config['user'], $config['pass']);
            
    mysql_select_db($config['db'], $db);
        }

        return 
    $db;
    }

    function 
    db_query($q) {
      
    $result mysql_query($qdb_connect());
      if (
    $result) {
        
    $results = array();
        while (
    $row mysql_fetch_object($result)) {
          
    $results[] = $row;
        }
        return 
    $results;
      }
      else {
        return 
    false;
      }
    }

    function 
    db_get($query$num=0) {
        return 
    mysql_result(mysql_query($query .' LIMIT 1'db_connect()), $num);

    Ich würd sogar was springen lassen

    Danke und LG Patrick


  • #2
    Hat nichts mit Datenbanken zu tun und ist außerdem ein Programmierauftrag.

    MOD: Verschoben von Datenbanken

    Kommentar


    • #3
      Hi.
      sorry dafür.

      Was ich vergessen habe: Es geht nicht nur um die Unstellung auf MySQLi sondern auch um die Kompatibilität zu PHP 7.4.

      LG Patrick

      Kommentar


      • #4
        Welche Fehler werden denn ausgeworfen?

        Kommentar


        • #5
          Zitat von werwiewas Beitrag anzeigen
          Welche Fehler werden denn ausgeworfen?
          mysqli_functions exestieren nicht, wenn man den quellcode überfliegt sieht man sofort unten dass er die ganze zeit mit mysql_ arbeitet
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar

          Lädt...
          X