5 x ein kleines dies und das zu PHP und mySQL

Hallo,

ich habe mich die letzten Tage ausgiebig mit PHP und mySQL beschäftigt, denn ich schreibe übermorgen eine Prüfung darüber.

Ich habe mich durch das Skript gekämpft und von mehr als 50 Übungsfragen konnte ich alles lösen, außer die folgenden 5! Sind für Experten nur Kleinigkeiten aber ich wäre echt begeistert wenn ihr mir helfen könntet.

Das sind sie:

  1. Beschreiben Sie in PHP / SQL, wie die Anzahl aller Datensätze aus der Tabelle „studenten“, die im Feld „geschlecht“ den Wert „w“ enthalten, ermittelt und ausgegeben werden kann (ohne Datenbank-Verbindungsaufbau).

  2. Beschreiben Sie in PHP / SQL, wie alle Datensätze aus der Tabelle „studenten“, die im Feld „zertifikat“ den Wert „1“ enthalten, ermittelt und deren Vor- und Nachnamen zusammen mit jeweils einem Zeichenumbruch ausgegeben werden kann (ohne Datenbankverbindungsaufbau).

  3. Beschreiben Sie in dem 2-dimensionalen Array „ich“ Ihren Vor- und Nachnamen.

  4. Angenommen Sie möchten die Dokumentation zu dem PHP-Befehl „strpos“ lesen. Wie rufen Sie im
    Internet unter www.php.net die Dokumentation zu dem Befehl „strpos“ auf?

  5. Wenn ich den ersten Datensatz löschen will, wie mache ich das? --> so?

<?php $loesch = mysql_query("DELETE FROM student WHERE id = '1'");
?\> so müsste es gehen, wenn ich mit einem autoincrement bei id verfahre, oder? ist der erste wert dann 1 oder 0??? und wie ging es ohne einen autoincrement? Vielen Vielen Dank an alle die mir antworten... Grüße Marco

Hallo,

die Antworten sind nicht allzu schwer:

  1. Beschreiben Sie in PHP / SQL, wie die Anzahl aller
    Datensätze aus der Tabelle „studenten“, die im Feld
    „geschlecht“ den Wert „w“ enthalten, ermittelt und ausgegeben
    werden kann (ohne Datenbank-Verbindungsaufbau).

SELECT * FROM studenten WHERE geschlecht=‚w‘

  1. Beschreiben Sie in PHP / SQL, wie alle Datensätze aus der
    Tabelle „studenten“, die im Feld „zertifikat“ den Wert „1“
    enthalten, ermittelt und deren Vor- und Nachnamen zusammen mit
    jeweils einem Zeichenumbruch ausgegeben werden kann (ohne
    Datenbankverbindungsaufbau).

SELECT CONCAT(vorname, ‚\n‘, nachname) AS name FROM studenten WHERE zertifikat=‚1‘

Wenn ein Zeilenumbruch in HTML gemeint ist, solltest du in CONCAT() ’
’ statt ‚\n‘ schreiben.

  1. Beschreiben Sie in dem 2-dimensionalen Array „ich“ Ihren
    Vor- und Nachnamen.

Hier ist mir nicht ganz klar, wie es gemeint ist, weil dazu nur ein eindimensionales Array nötig wäre, z.B.

$ich=array('vorname'=\>'Donald', 'nachname'=\>'Duck');

2-dimensional wäre so:

$ich=array(array('Donald'), array('Duck'));
  1. Angenommen Sie möchten die Dokumentation zu dem PHP-Befehl
    „strpos“ lesen. Wie rufen Sie im
    Internet unter www.php.net die Dokumentation zu dem Befehl
    „strpos“ auf?

In’s Suchfeld „strpos“ eingeben und unter „in the …“ -> „function list“ auswählen. Das war aber jetzt wirklich nicht schwer :wink:.

  1. Wenn ich den ersten Datensatz löschen will, wie mache ich
    das? --> so?
<?php :blush:loesch = mysql_query("DELETE FROM student WHERE id = '1'");
?\> so müsste es gehen, wenn ich mit einem autoincrement bei id verfahre, oder? ist der erste wert dann 1 oder 0??? und wie ging es ohne einen autoincrement?

Das funktioniert nur, wenn ein DS mit id=1 auch wirklich besteht. D.h. nach einmaligem Durchführen würde dieser Query nichts mehr löschen.
So sollte es funktionieren:

DELETE FROM student ORDER BY id LIMIT 1;

D.h. du ordnest die Datensätze nach der gewünschten Spalte (z.B. id) und gibst mit „LIMIT 1“ an, dass nur der 1. gelöscht werden soll.

Damit viel Erfolg bei der Prüfung!

Schöne Grüße,
rw643

Hallo,

ich habe mich die letzten Tage ausgiebig mit PHP und mySQL
beschäftigt, denn ich schreibe übermorgen eine Prüfung
darüber.

Ich habe mich durch das Skript gekämpft und von mehr als 50
Übungsfragen konnte ich alles lösen, außer die folgenden 5!
Sind für Experten nur Kleinigkeiten aber ich wäre echt
begeistert wenn ihr mir helfen könntet.

Das sind sie:

  1. Beschreiben Sie in PHP / SQL, wie die Anzahl aller
    Datensätze aus der Tabelle „studenten“, die im Feld
    „geschlecht“ den Wert „w“ enthalten, ermittelt und ausgegeben
    werden kann (ohne Datenbank-Verbindungsaufbau).

"SELECT COUNT(*) FROM studenten WHERE geschlecht LIKE ‚w‘ ";

  1. Beschreiben Sie in PHP / SQL, wie alle Datensätze aus der
    Tabelle „studenten“, die im Feld „zertifikat“ den Wert „1“
    enthalten, ermittelt und deren Vor- und Nachnamen zusammen mit
    jeweils einem Zeichenumbruch ausgegeben werden kann (ohne
    Datenbankverbindungsaufbau).

ich weiß leider nicht was mit dem Zeichenumbruch gemeint ist. aber das Statement ist sonst

„SELECT vorname, nachname FROM studenten WHERE zertifikat LIKE ‚1‘“

  1. Beschreiben Sie in dem 2-dimensionalen Array „ich“ Ihren
    Vor- und Nachnamen.

brauchte ich bisher noch nicht.

  1. Angenommen Sie möchten die Dokumentation zu dem PHP-Befehl
    „strpos“ lesen. Wie rufen Sie im
    Internet unter www.php.net die Dokumentation zu dem Befehl
    „strpos“ auf?

da muss einfach nur bis zu dem gewünschten tag durchgeklickt werden oder?

  1. Wenn ich den ersten Datensatz löschen will, wie mache ich
    das? --> so?
<?php :blush:loesch = mysql_query("DELETE FROM student WHERE id = '1'");
?\>

verwende anstatt dem = Zeichen LIKE, das ist besser.
und was ist wenn du das nochmal durchläufst? Die Auto-Increments werden nicht verändert, d.h. du kannst das Statemant nur einmal benutzen.

„DELETE *
FROM student
where id = (SELECT top 1 * from studenten ORDER BY id asc)“

bei dem statement bin ich mir auch nicht ganz sicher. müsste aber ungefähr so gehen.

so müsste es gehen, wenn ich mit einem autoincrement bei id
verfahre, oder? ist der erste wert dann 1 oder 0??? und wie
ging es ohne einen autoincrement?

Vielen Vielen Dank an alle die mir antworten…

Grüße
Marco

Hallo,
leider kann ich dazu keine Hilfe leisten.

Viel Erfolg
Carsten

Sorry, ich kann leider nicht helfen.