PHP und MYSQL in verbindung mit html-tabellen

Darkhell

Erfahrenes Mitglied
Hi,

ich habe ein kleines Problem. Und zwar ist es so, dass ich in einer MySQL-tabelle pc-spiele mit releasedatum gespeichert hab. dort sind auch einige restliche informationen drin gespeichert, die aber jetzt nicht von bedeutung sind.

1. Ich benötige einen PHP Code, der mir das kleinste und das größte Releasedatum ausliest

2. Dann soll mir PHP eine HTML-Tabelle erstellen, und zwar mit 4 Zellen in einer Zeile, die Zeilenanzahl ist beliebig.

Kann mir einer sagen wie ich das anstelle, ich bin totaler anfänger was Schleifen angeht, und ich befürchte, dass ich Schleifen dafür benötigen werde......?

Darkhell
 
Hi,
das ist alles kein problem.

1. Einfach mit "ORDER BY releasedatum LIMIT 1" oder "ORDER BY releasedatum DESC LIMIT 1"

2. Verstehe ich leider nicht.
 
1.
Je nach Anzahl an Einträgen ist "ORDER BY" jedoch um einiges langsamer als MAX/MIN.
Von daher würde ich doch diese Variante bevorzugen, also einfach:
PHP:
SELECT MAX( releasedatum ) FROM table LIMIT 1;
SELECT MIN( releasedatum ) FROM table LIMIT 1;

2.
Meinst du so?
PHP:
$results = mysql_query(" SELECT foo FROM bar" );
echo '<table>';
while( $row = mysql_fetch_assoc( $results ) ) {
 echo '<tr><td>'.$row['filed1'].'</td><td>'.$row['filed2'].'</td><td>'.$row['filed3'].'</td><td>'.$row['filed4'].'</td></tr>';
}
echo '</table>';
 
Hallo!

Zu 1: Da hast Du Dich etwas undeutlich ausgedrückt.
Willst Du das älteste/neuste Datum von allen Games?
Oder willst Du das neuste/älteste Datum jeweils pro Game, welches mehrfach eingetragen ist?

Im letzteren Fall fehlt noch ein:
PHP:
GROUP BY `gamename`
Gruss Dr Dau
 
@Dr Dau: Ich möchte das älteste/neueste Datum von allen Games

@DeluXe: Ja so ungefähr, nur dass er nach jeder 4ten Zelle einen Tabellenzeilenumbruch haben ungefähr so (im Endeffekt:)
HTML:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
<tr>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
</tr>
.............................................
</table>

@phillipcool: schon klar, aber wie sag ich PHP dann er soll nur den 1. bzw. letzten eintrag in einer variable speichern?


Danke schonmal für die Ansätze...

Eigentlich bräuchte ich ja nur die dumme schleife und die angaben, oder auch nicht. wenn einer ein tutorial dazu kennt sagts mir bitte.

Auf deutsch ausgedrückt:

PHP:
echo '<table>'; 
Schleife(i=$kleines_datum, $großes_datum, i=$großes_datum) {
    if(i == 4) {
        i = 0;
        echo "</tr><tr>";
    }
    i++;
    echo "<td>$row->release</td>";
}
echo "</tr></table>";
 
Zuletzt bearbeitet:
Kann mir echt keiner helfen? Das ist doch gaarnicht so schwer für euch, ich brauch bloß das mit der schleife....
 
Wenn du nur ds Größte und kleinste Release datum eines Spiels haben möchtest kannst du das in der SQL-Anweisung einstellen.

Dann musst du nur noch den inhalt mit einer while schleife auslesen und fertig.
 
Sorry wegen den dummen Fragen, aber kann mir bitte einer erklären wie das mit der whileschleife geht, ich kann schlefen überhaupt net....
 
Sorry wegen den dummen Fragen, aber kann mir bitte einer erklären wie das mit der whileschleife geht, ich kann schlefen überhaupt net....

nun, ich hab dies mal so geloest. vllt. nicht gaaaanz so elegant, aber es tut :suspekt:

PHP:
      /* tr auf 1 setzen */

      $tr = 1;
      echo '<table><tr><td>1</td></tr>';
      while (condition) {
         if ($td === 1)
           echo '<tr>';

        if ($td === 7) {
          $td = 1;
          echo '</tr>';
        }

        echo '<td>';
        echo 'irgend ein inhalt';
        echo '</td>';

        $td++;

      }
      echo '</table>';

das kann man natuerlich auch auf TD anwenden.

bezgl. der while-schleife:

PHP:
  while ($row = mysql_fetch_array($res)) {

    ....

  }

hope dat hilft.

momo
 
Zurück