Ich entwickle meine eigenen Twitter-Stil Social Media für ein Schulprojekt. Ich Code in PHP und speichern Benutzer, Beiträge und Follower in MYSQL-Tabellen (meine Variablennamen sind in Schwedisch daher sie heißen: anvandare, inlagg und foljningar)Verwenden Sie in_array() in if-Anweisung gibt false in einer Schleife, die zu "Maximale Ausführungszeit von 30 Sekunden überschritten"
So jetzt möchte ich nur zeigen, Post von denen ich bin Folgendes. Ich entschied mich, alle Benutzer-IDs von denen ich folge und sie in einem Array zu speichern.
$sqlfoljer="select foljarid, foljdid from foljningar where foljarid =$anvandarID";
$stmt = $conn->prepare($sqlfoljer);
$stmt->execute();
$row = $stmt->fetch();
if (!$row)
{
echo "You are not following anyone.";
die();
}
$foljer = array();
while ($row != null)
{
array_push($foljer, $row['foljdid']);
$row = $stmt->fetch();
}
Ich hole alle Beiträge in einer Abfrage und dann überprüfe ich, ob die Person, die schrieb sie in meiner Reihe der Leute I
$sql = "select id, datumskapat, text, bild, anvandarID, namnAnvandare from inlagg order by datumskapat desc";
$stmt = $conn->prepare($sql);
$stmt->execute();
$row = $stmt->fetch();
if (!$row)
{
exit();
}
while ($row != null)
{
$anvandarID = $row['anvandarID'];
$inlaggsid = $row['id'];
if(in_array($anvandarID, $foljer))
{
$sqlgillar = "select count(*) as antalgillar from gillningar where inlaggsid = :inlaggsid";
$params2 = array(':inlaggsid'=>$row['id']);
$stmt2 = $conn->prepare($sqlgillar);
$stmt2->execute($params2);
$row = $stmt2->fetch();
if ($bild != null)
{
//Lägg tll bild
echo "<img src=\"visabild.php?id=$inlaggsid\" alt=\"Bild\" />";
}
}
$row = $stmt->fetch();
}
else
{
echo"You dont follow this person";
}
}
Ordnung folgen, so dass das Problem ist, dass dies nicht Arbeit. Wenn ich die Seite im Browser betrete, fühlt es sich an, als würde sie einfrieren, aber es dauert nur sehr lange und dann erhalte ich den Fatalen Fehler von Maximale Zeit.
Die Posts werden nicht korrekt geladen. Es sind nur Beiträge von einer Person (die erste personID im Array). Ich fügte eine else-Anweisung für das in_array hinzu und es echote "Du folgst dieser Person nicht" unendlich viele Male bis zur 30 Sekunden Pause.
Kann jemand finden, was ich falsch mache?
eine Menge von diesen Code auf die Frage irrellevent scheint. Bitte stellen Sie sicher, dass Sie Ihre Fragen immer * einfach * auf stackoverflow stellen! –