Wie kann ich mein Script mit arrays zum Laufen bringen?

Guten Abend,
ich habe da ein kleines Problem, es handelt sich um einen Teilabschnitt meines PHP Scriptes, welches immer 4 Video’s nebeneinander in eine Liste eintragen soll und dann die Zeile darunter Downloadbuttons zu jedem Video darüber.

    <article>
                <h1>Dateiliste</h1>
                <table>
                <?php
                $videoliste = array();
                $infoliste  = array();
                $anfrage = "SELECT * FROM data WHERE ordner=\"videos/\" ORDER BY ordner ASC";
                $result = mysqli_query($enter, $anfrage);
                while($row = mysqli_fetch_object($result)){
                    array_push($videoliste, "<td><video class=\"video\"
src=\"uploads/$row->ordner$row->datname"."\" controls></video></td>");
                    array_push($infoliste,  "<td><a href=\"uploads/$row->ordner$row->datname\".$row->typ/><img class=\"datapic\" src=\"images/download.png\" /></td>");
                }
                $key=0;
                $c  =0;
                $holystringvideo="<tr>";
                while(array_key_exists($key, $videoliste)){
                    if($c<=3){
                        $holystringvideo=$holystringvideo.$videoliste[$key];
                    }
                    else if($c>3 and $c<=7){
                        $holystringvideo=$holystringvideo.$infoliste[$key];
                    }
                    else{
                        $c=0;
                    }
                    $key=$key+1;
                    $c  =$c  +1;
                } $holystringvideo=$holystringvideo."</tr>"; echo $holystringvideo;
                ?>
                </table>
                </article>

Ich hoffe jemand hat eine Idee, wie dieses Script zum Laufen gebracht werden kann. Ich bedanke mich schonmal im Vorraus!

Was passiert denn bisher, wenn du es aufrufst?
Welchen Output gibt es und welchen erwartest du?

Ich hab es schon etwas zu laufen bekommen. Es gibt jetzt aber leider nur zwei Zeilen aus.
Hier der Code nochmal.

<article>
            <h1>Dateiliste</h1>
            <table border="1" cellpadding="1" cellspacing="1" summary="">
            <thead>
                <th>  </th>
                <th>  </th>
                <th>  </th>
                <th>  </th>
            </thead>
            <?php
            $videoliste = array();
            $infoliste  = array();
            $anfrage = "SELECT * FROM data WHERE ordner=\"videos/\" ORDER BY ordner ASC";
            $result = mysqli_query($enter, $anfrage);
            while($row = mysqli_fetch_object($result)){
                array_push($videoliste, "<td><video class=\"video\" src=\"uploads/$row->ordner$row->datname"."\" controls></video></td>");
                array_push($infoliste,  "<td><a href=\"uploads/$row->ordner$row->datname\".$row->typ/><img class=\"datapic\" src=\"images/download.png\" /></td>");
            }
            $key=0;
            $c  =0;
            $holystring="";
            $holystringvideo="<tr>";
            $holystringinfo="<tr>";
            while(array_key_exists($key, $videoliste) and $c <=3){
                Echo "1";
                if($c<=3){
                Echo "2";
                    $holystringvideo= $holystringvideo.$videoliste[$key];
                    $holystringinfo = $holystringinfo.$infoliste[$key];
                }
                if($c==3){
                Echo "3";
                    $holystringvideo= $holystringvideo."</tr><tr>";
                    $holystringinfo = $holystringinfo."</tr><tr>";
                    $holystring = $holystring.$holystringvideo.$holystringinfo;
                }
                if($c==4){
                Echo "4";
                    $c=0;


                }
                $key=$key+1;
                $c  =$c  +1;
            } echo $holystring;
            ?>
            </table>
            </article>

Ich würde gerne die Videos über den Links in der Tabelle habe, und es scheint so als würde er nicht mit dem „Umbruch“ zurechtkommen, denn nach 4 Videos kommen in der nächsten Spalte nur 4 Links die durch Bilder dargestellt werden und dann nichts mehr.

Und welche sind das?

Also ich hab mir jetzt den Code zwei mal angeschaut und der ist so kaputt, das man ihn neu schreiben sollte. Allein die Tatsache, das man Daten (die Ergebnisse aus der SQL-Abfrage) und Formatierung (HTML-Elemente) einfach wild zusammen schmeißt, macht ihn völlig unbrauchbar.

Gruß,
Steve

Ok, ich werde ihn nochmal komplett neu schreiben.

So, jetzt habe ich es etwas übersichtlicher geschrieben. Es gibt bei diesem script nur das Problem, dass es einen Link und Video nicht anzeigt, denn stattdessen bekomme ich ein Notice: Undefined offset: 7 in D:\Xampp\htdocs\Datenwolke\videolistee.php on line 70 Die betreffende Codezeile ist mit „//*****“ gekennzeichnet.

<?php

            $videoliste = array();
            $infoliste  = array();
            $holy       = array();
            $key        = 0;

            $anfrage = "SELECT * FROM data WHERE ordner=\"videos/\" ORDER BY datum ASC";
            $result     = mysqli_query($enter, $anfrage);

            while($row = mysqli_fetch_object($result)){
                $videoliste[$key] = "$row->ordner$row->datname<br />";
                $infoliste[$key]  = "<a href=\"uploads/$row->ordner$row->datname\"/><img class=\"datapic\" src=\"images/download.png\" /></a><br />";
                $key = $key + 1;
            }

            $key -= 1;
            $linkanzahl= $key*2;

            $f=0;
            $m=0;
            $c=0;
            $l=0; $h=0;
            while($linkanzahl>=$c){
                if($f<=3){
                    $holy[$c]=$videoliste[$l];//*****
                    $l+=1;
                    if($f==3){
                        $m=4;
                    }
                    $f+=1;
                }
                else if($m<=7){
                    $holy[$c]=$infoliste[$h];
                    $h+=1;
                    if($m==7){
                        $f=0;
                    }
                    $m+=1;
                }
                $c+=1;
            }
            $u=0;
            While($linkanzahl>=$u){
                echo $holy[$u]."<br />";
                $u+=1;
            }
            ?>