array aus mysqldb erzeugen?

Brauni

Erfahrenes Mitglied
servus

Ich kämpfe jetzt schon eine ganz weile mit den Arrays herum und jede suche im Bord bzw. Google ergab nichts.
Ich will aus meiner Tabelle "plzort" die 2 Felder "plz" und "ort" auslesen und in einem array speichern.

Anschließend wird dann ein Überblick ausgegeben welche Orte gespeichert sind. Dies dann natürlich 2 spaltig. Dies bekomme ich schon hin, nur die Daten aus der db auslesen und in dem array speichern schaffe ich nicht!
Ich hoffe ihr könnt mir helfen?

greets
brauni
 
ja das ist mir schon klar nur ich weis nicht wie ich die ganzen daten von der tabelle plzort mit den feldern plz und ort in ein array bekomme
 
Hallo,

mal als Tipp - wie schon 1000-fach hier im Board beschrieben.
Ausserdem wäre ein Blick ins Manual nicht schlecht. :rtfm:

So hier ein beispiel:
PHP:
<?php 
// Definitionen für MySQL-Zugriff setzen 
define('MYSQL_HOST', 'localhost'); 
define('MYSQL_USER', 'Benutername'); 
define('MYSQL_PASS', 'Passwort'); 
define('MYSQL_DATABASE', 'Namedeinerdb'); 
$tabelle = "plzort"; 

// MySQL-DB Verbindung aufbauen und Tabelle auswählen 
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Keine Verbindung zur Datenbank.<br>Fehlermeldung: ".mysql_error()); 
@mysql_select_db(MYSQL_DATABASE) OR die("Konnte Datenbank nicht benutzen.<br>Fehlermeldung: ".mysql_error()); 

$sql = "SELECT * FROM `$tabelle`";
$abfrage = mysql_query($sql); 

while($daten = mysql_fetch_array($abfrage)) {

//Unformatierte Ausgabe da du die Tabelle ja selbst hinbekommst spare ich mir die Mühe
echo $daten['plz']." ".$daten['ort'];

}

?>
So das wars dann schon - garnicht so schwer oder?
Ich habe den Code nur so getippt und nicht getestet

Ich vermute fast das es dir an den einfachsten Grundlagen fehlt deshalb würde ich dir die Website http://tut.php-q.net ans Herz legen. Hier solltest du einfach mal alle Kapitel durchmachen.

Noch Fragen?
 
servus

funktioniert super!
Wie schafft man es die ersten 30 Datensätze in der ersten Spalte und die restlichen in der zweiten Spalte anzuzeigen?
Hab keine Ahnung wie man dies ordnet

<table width="300" border="1">
<tr>

<td width=100>plz</td>
<td width=35 align=right>ort</td>

<td width=100>plz</td>
<td width=35 align=right>ort</td>

</tr>
</table>
 
Hallo,

das ist jetzt eine gute Frage - da muss ich erst mal überlegen.
Ich melde mich wieder.

Grundsätzlich könnte das mit einer Schleife in der Schleife funktionierten.
Aber momentan habe ich keine Idee - vielleicht hat auch jemand anderes eine Idee dazu - ist ja ein Forum mit sehr vielen klugen Leuten :)
 
Es soll auf die 2 Tabellen aufgeteilt werden. Müssen nicht genau 30 Einträge in der ersten sein.
Wenn man in einem Array alle Datensätze speichern könnte, könnte man es anhand der ID (die von dem Array vergeben wird order auch selber vergibt mit einer Variable in der Schleife) wie gewünscht ausgeben (mit einem Zähler für jede Spalte und die 2te Spalte eben +30).
Nur wie bringt man die gesamte Tabelle in ein Array?
 
Zuletzt bearbeitet:
servus

vielleicht nicht die eleganteste lösung aber sie funktinoiert:

PHP:
$query = "SELECT * FROM plzort order by ort ASC";
$result = mysql_db_query("usr1", $query);

$i=0;
while ($i < mysql_numrows($result))
{
    $varort[$i] = mysql_result($result, $i, "ort");
    $varplz[$i] = mysql_result($result, $i, "plz");
    $i++;
}


//zeilenlänge erste spalte erreichnen
$zeilen=$i/2;
if($zeilen%2!=0)
{
    //ungerade
    $zeilen = ceil($zeilen);
}
else
{
    //gerade
    $zeilen=$zeilen+2;
}



$schleife = -1;
$schleifenach = $zeilen;

//wird solange durchgeführt bis erste spalte erreichnete hälfte erreicht hat - zweite spalte ist dann ja auch schon fertig
while($schleife<$zeilen)
{

    ?>
    <table width="330" border="0" cellpadding=0 >
      <tr>

        <?php


        $schleife++;

            echo "<td >$varort[$schleife]</td>";
            echo "<td  align=right>$varplz[$schleife]</td>";

        echo "<td width=20></td>";

                $schleifenach++;

            echo "<td width=110>$varort[$schleifenach]</td>";
            echo "<td width=35 align=right>$varplz[$schleifenach]</td>";


        ?>
      </tr>
    </table>

    <?php

}
 
Zurück