kostenloser Webspace werbefrei: lima-city


Variable zusammenzählen anhand von kriterien.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    Wie kann man $ipi = $ipi+1 zusammenzählen. so dass es zb. 2 ergibt. zurzeit macht er 111 daraus, also reiht ers nur an ein ander.


    <?php
    $iph = $_SERVER['REMOTE_ADDR'];
    $server = "server";
    $datenbank = "db";
    $username = "user";
    $passwort = "pass";
    $mysqli = new mysqli($server, $username, $passwort,$datenbank);
    
    $query = "UPDATE tabelle SET spalte='$ipn' WHERE spalte1='herkunft'";
    $mysqli ->query($query);
    
    $ipi = 0;
    $resultado=mysqli_query($mysqli, "select * from tabelle");
    while ($fila = mysqli_fetch_array($resultado))
    {
      if ($iph == $fila['spalte'])
    	{
    	$ipi = $ipi+1;
    	}
    	else	  
    	{
    	$ipi = $ipi+0;
    	}
    
    }
    	  if ($ipi == 0)
    {
    		echo '<meta http-equiv="Refresh" content="12; URL=http://www.google.ch">';
    }
    	  else
    	  {
    		echo 'Willkommen';
    	  }
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Wenn
    $ipi = $ipi + 1;
    am Ende
    111
    ergibt, könnte es vllt sein, dass es 111 mal addiert hat?

    Ansonsten:
    1)
    $ipn
    wird nirgendwo definiert.

    2) Nutz unbedingt Prepared Statements, anstatt Parameter direkt in den SQL-String einzubauen!

    3)
    $ipi = $ipi + 0;
    ist völlig unnötig

    4) Zählen kann die Datenbank selbst besser, als du es in PHP kannst. Sieh dir mal die COUNT-Funktion an. Deine Abfrage würde also eher so aussehen:
    SELECT COUNT(*) FROM tabelle WHERE spalte = ?
    mit
    ?
    durch
    $iph
    ersetzt. Als Ergebnis käme dann eine einzelne Zeile heraus, welche die Summe enthält.

    5) Nutz eine konsistente Formatierung. So wie es jetzt ist, ist der Code relativ schwer lesbar.

    6)
    $ipi
    ,
    $iph
    ,
    $ipn
    ,
    $fila
    … etwas aussagekräftigere Namen wären schon schön.
  4. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    habe den Code angepasst, so gibt er mir immer 0 raus, ob wohl 1zeile übereinstimmt mit $ipn


    $resultado=mysqli_query($mysqli, "select count(*) AS counter from tabelle WHERE spalte = '$ipn'");
    while ($fila = mysqli_fetch_array($resultado))
    {
    $ipi = $fila['counter'];
    echo $ipi;
    }
  5. h***********r

    Das ganze geht auch ganz einfach, aber ob das prepared genug ist :/
    $mysqli = new mysqli("$host", "$user", "$pass", "$db");
    
    $query = "Dein SQL Befehl hier ";
    $result = $mysqli->query($query);
    while($row = $result->fetch_array())
    {
    $rows[] = $row;
    //Code der für jede Zeile in deiner Query-Ausgabe passieren soll. Alle Werte der Zeile werden in das array $row[] gespeichert.
    }


    Beitrag zuletzt geändert: 8.10.2017 17:33:34 von horstexplorer
  6. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    habe den code nun so angepasst. jetzt gibt er mir nur noch array aus.

    $query1= "Select count(*) AS counter from tabelle WHERE spalte = '$ipn'";
    $result = $mysqli ->query($query1);
    while($row = $result->fetch_array())
    {
    $row = $row;
    ech
  7. h***********r

    Ich bin nicht ganz sicher was das ech in deinem Code macht, aber an die Infos im array kommst du immer mit array[position] ran also row[0] oder row[1] etc.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!