Hallo, ik heb een vraag ben bezig met een profiel systeem met een ticket systeem nou wil ik zeg maar data uit lezen van gebruiker plato en van de tickets in een aparte table de gegevens laten zien

maar mijn vraag is ben nou met een website bezig en heb een get method profiless.php?naam=plato&?tickets=plato
alleen probleem is hij geeft de naam wel weer in de mysql query alleen de header img niet iemand enige idee wat ik fout doe

<?php
    include_once("includes/config.php"); 
    if (isset($_GET['tickets']))
    {
        $ticket = $_GET['tickets'];
        $sql = "SELECT * FROM tickets WHERE gebruiker='$ticket'";
        
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0) {
            
            if($row = $result->fetch_assoc()) { 
    
echo '<header class="content-header " style="background-image: url('.$row["ticket_header"].');">'; 
            }
        }
        else {
           echo "0 results";
        }
    }
?>      

en naam werkt wel gewoon

<?php
    include_once("includes/config.php"); 
    if (isset($_GET['naam']))
    {
        $firstname = $_GET['naam'];
        $sql = "SELECT * FROM users WHERE gebruiker='$firstname'";
        
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0) {
            
            if($row = $result->fetch_assoc()) {
               
            }
           ?>
    <div class="l-content">
        
        <div class="container listing-info">
            <div class="listing-info--user">
    <img src="img/noavatarn.png" alt="Hendrik Hofstra">
    <div class="user"> 
    <?php echo '<h3>'.$row["gebruiker"].'</h3>'; ?>
 
  <?php echo '<div class="user-city">'.$row["plaats"].'</div>'; ?>
        
        <ul>
                            <li class="sold">
                    2 tickets verkocht                                    </li>
                                        <li class="phone" title="We hebben het mobiele nummer van de verkoper gecontroleerd">Telefoonnummer gecontroleerd</li>
                                        <li class="friends"> 
                                        <?php echo 'Facebook is gekoppeld <span>'.$row["vrienden"].' vrienden</span>'; ?>
                                    </li>
                    </ul>    
                  <?php
                    } 
        else { 
        }
    }
    ?>




iemand enige idee die mij kan helpen dankje wel
Met zo een datastructuur met het lukken:
Ik heb het uit mijn hoofd geschreven, dus er kunnen mogelijk fouten in zitten.

Gebruikers:
- id (auto. incre. prim key)
- gebruikersnaam
- mailadres
- plaats

Tickets:
- id (auto. incre. prim key)
- gebruikersnaamID (is in de query een JOIN met 'id' in de gebruikerstabel.
- naam
- beschrijving
- Etc...

<?php
$sql = "SELECT u.id, u.gebruikersnaam, u.mailadres, u.plaats, t.beschrijving, t.naam
FROM users u
JOIN tickets t ON t.gebruikersID = u.gebruiker AND t.naam = '".$conn->real_escape_string($_GET['tickets'])."'
WHERE u.gebruikersnaam= '".$conn->real_escape_string($_GET['naam'])."'";
$result = $conn->query($sql);
?>
Je moet er wel op letten dat er geen meerdere gebruikersnamen kunnen bestaan. Dus maak deze uniek met een UNIQUE in je database.
 
CREATE TABLE `tickets` (
  `id` int(11) NOT NULL,
  `gebruikersID` varchar(255) NOT NULL UNIQUE,
  `ticket_titel` varchar(255) NOT NULL,
  `ticket_header` varchar(1024) NOT NULL,
  `ticket_datum` date NOT NULL,
  `ticket_dag` varchar(255) NOT NULL,
  `ticket_plaats` varchar(255) NOT NULL,
  `prijs` int(11) NOT NULL,
  `aantal` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `gebruiker` varchar(255) NOT NULL,
  `plaats` varchar(255) NOT NULL,
  `avatar` varchar(1024) NOT NULL,
  `vrienden` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

dan is dit de sql ?
Uhm, als users.id en tickets.gebruikersID hetzelfde ding zouden moeten voorstellen zouden de kolomdefinities hetzelfde moeten zijn. Ook zou je dan (en dit kan ook enkel als de definities gelijk zijn) een foreign key op tickets.gebruikersID moeten aanmaken. En tickets.id zou ook een primaire sleutel (met auto increment) moeten zijn?

Wat zou in tickets.ticket_dag moeten staan? Is dit niet afleidbaar uit ticket_datum?

Overigens als waarden niet negatief zijn zou je hier unsigned bij moeten zetten, anders gooi je effectief de helft van het waardenbereik weg.

Wat staat er in users.vrienden? Zou dit niet een aparte koppeltabel moeten zijn waarbij je twee verschillende users aan elkaar knoopt?

Misschien heeft dit ontwerp nog wat iteraties nodig :p.
en hoe zou ik dat moeten doen ? want de id moet het zelfde zijn dus gebruiker maakt advertentie lowlands
gebruiker is 5 dus moet bij table tickets zelfde gebruikersid hebben als van users begrijp ik ? zou je misschien me er mee kunnen helpen een example laten zien ?
Vanwaar de prefix 'tickets' in de veldnamen van je tabel 'tickets'.

En zorg ook even dat het id van de ticket-tabel Primairy Key en auto-increment is. Je wilt immers altijd een automatisch id-nummer genereren bij het aanmaken.
 
CREATE TABLE `tickets` (
  `id` int(11) AUTO_INCREMENT PRIMARY KEY,
  `gebruikersID` varchar(255) NOT NULL UNIQUE,
  `ticket_titel` varchar(255) NOT NULL,
  `ticket_header` varchar(1024) NOT NULL,
  `ticket_datum` date NOT NULL,
  `ticket_dag` varchar(255) NOT NULL,
  `ticket_plaats` varchar(255) NOT NULL,
  `prijs` int(11) NOT NULL,
  `aantal` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `gebruiker` varchar(255) NOT NULL,
  `plaats` varchar(255) NOT NULL,
  `avatar` varchar(1024) NOT NULL,
  `vrienden` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;  



zo ?

en hoe is de sql query dan als ik een advertentie maak ik weet dat je dat doet met update zou je een example kunnen geven zodat ik verder kan en dat die de id wel pakt van user naar tickets
Een record aanmaken doe je met INSERT, aanpassen met UPDATE.

(PS: Gebruik a.u.b interpuncties in je berichten hier. Dat maakt het wat beter leesbaar.)
oke maar hoe krijg ik nou het zelfde id van de gebruiker in de ticket

zodat tickets
wel meer gebruikers tickets aan kunt maken als je me daar nog mee kunt helpen dan weet ik genoeg
Waar komt het ID-nummer vandaan? Ik neem aan dat als iemand inlogt, dat er ergens wordt opgeslagen dat die ingelogd is. Bijvoorbeeld in een sessie.

Dus vertel eens wat meer over structuur en de workflow van je script.
ik wil zeg maar gewoon in een input html gebruiker de naam invullen zeg maar en die de id weer leest naar tickets ik heb geen session en ook geen inlog

Reageren