Daten aus Datenbank in der richtigen Reihenfolge ausgeben


Hallo zusammen,
ich möchte gerne das die Url eines Links nach einem Bestimmten Schemas aufgebaut wird.
zb: www.example.com/Beitrag/Author
Nun habe ich eine Tabelle wo die Reihenfolge mit der Spalte orders festgelegt wird.
Und nun möchte ich in dieser Weise die richtigen Daten aus der Datenbank aus der Tabelle posts holen

So wird es aufgerufen:
PHP:
use Rewrite;
require_once("Rewrite.php");
$seo = new Rewrite;
$seo->convert("post", 2);
Die Methode lautet:
PHP:
    public function convert($data){
        $sql = "SELECT * FROM params ORDER BY orders";
        foreach ($this->pdo->query($sql) as $array) {

           if (array_key_exists($data, $array)) {
               return true;
           }
               

        }    
        }

    public function generateCurrentUrlById(String $typ, Int $id){

        $this->new = new PDO('mysql:host=localhost;dbname=cms', 'root', '');
        $sql = "SELECT * FROM posts WHERE type = :typ AND id= :id LIMIT 1";
        $stmt = $this->new->prepare($sql);
        $stmt->execute(array(":typ" => $typ, ":id" => $id));
        foreach ($stmt->fetch() as $data=>$value) {

            if ($this->convert($data)) {
                $this->result .= $value."/";
            }


        }
        return $this->result;
    }
Hat einer eine Idee wie ich es lösen könnte?
 

Yaslaw

n/a
Moderator
Die Funktion convert() ist doch gut? Was ist das Problem?
Nun gut, sie passt absolut nicht zum Aufruf. Da würde dir Funktion generateCurrentUrlById() besser passen. Aber die rufst du ja nicht auf.
Zudem fehlt in generateCurrentUrlById() der ORDER BY im sql, falls das die Frage war.
 
Upps hab mich vertan, es wird mit generateCurrentUrlById ("posts", 1); aufgerufen und soll jetzt den Link in der reihenfolge wie orders vorgibt aus den daten aus der tabelle posts generieren
 

Yaslaw

n/a
Moderator
Wie geschrieben. den order ins SQL einpflegen
SQL:
SELECT * FROM posts WHERE type = :typ AND id= :id ORDER BY orders LIMIT 1
 
Ich habe diese beiden arrays
Code:
    <pre>
    Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [name] => alias
            [param] => 1
            [orders] => 0
        )

    [1] => stdClass Object
        (
            [id] => 2
            [name] => id
            [param] => 1
            [orders] => 1
        )

)
Array
(
    [0] => stdClass Object
        (
            [id] => 2
            [name] => TestSeite
            [title] => TestUser
            [alias] => TestUser
            [author] => 1
            [content] => <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatibus iusto doloremque illo aspernatur deleniti velit harum, quas, fugit similique maxime odit molestiae excepturi quibusdam. Quo vitae laboriosam aut veniam dolore?Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatibus iusto doloremque illo aspernatur deleniti velit harum, quas, fugit similique maxime odit molestiae excepturi quibusdam. Quo vitae laboriosam aut veniam dolore?Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatibus iusto doloremque illo aspernatur deleniti velit harum, quas, fugit similique maxime odit molestiae excepturi quibusdam. Quo vitae laboriosam aut veniam dolore?</p>
            [teaser] => Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatibus iusto doloremque illo aspernatur deleniti velit harum, quas, fugit similique maxime odit molestiae excepturi quibusdam. Quo vitae laboriosam aut veniam dolore?
            [content_type] => article
            [password] =>
            [parent] => 0
            [post_order] => 0
            [status] => 1
            [date] => 2019-03-05 16:50:23
            [modified] => 2019-04-05 18:00:14
            [created] => 2018-10-10 19:13:50
            [comments] => 0
            [comment_status] =>
            [keywords] =>
            [description] => 0
            [menu_link] =>
            [search] => 0
            [menu] => main
            [finish_published] => 0000-00-00 00:00:00
            [language] => german
            [published] => 2019-04-05 17:59:00
            [template] => home
            [tags] => tetetetetetet
        )

)
    </pre>
und möchte jetzt name vom ersten array, aus dem zweiten array auslesen, raus kommen sollte dann TestUser/2
 

EuroCent

Erfahrenes Mitglied
Dein Post verwirrt mich.

Du möchtest "name" aus dem ersten Array, aus dem 2ten Array lesen?!
Hier verstehe Ich deine Intension nicht :O

Dein letzeres Array-Object macht deutlich mehr sinn.

Array->id und Array->title bzw. Bezeichner den du auslesen willst.
 
Vielleicht hast du das Thema nicht verstanden, ich möchte wie in Wordpress die Url eigens formatieren,
also zb. www.example.com/beitrag/123/Author/Allgemein. Und diese Reihenfolge ist in der Tabelle params gespeichert mit der spalte orders.
Nun möchte ich diese Adresse generieren, dazu habe ich in der tabelle params die spalte name. Jetzt soll geprüft werden ob der wert von name gleich der key von der tabelle mit dem Beitrag. Hoffe es ist jetzt verständlicher. Es sind 2 Datensätze in der tabelle gespeichert, einmal mit name = alias und einmal mit name= id.
Der Link sollte dann etwa so aussehen: www.example.com/TestUser/2

Viele Grüße
Sebastian
 

EuroCent

Erfahrenes Mitglied
Ich habe deinen Post schon verstanden nur deinen letzteren Post mit deinen Arrays nicht :)

Warum dann nicht mit htaccess? Oo
 

Neue Beiträge