Maak van $sql data een link met data van ander table

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Ruud Clauwers

Ruud Clauwers

27/03/2020 17:51:36
Quote Anchor link
Ik zou graag een mail link willen maken van data die ik uit een DB haal, hoe krijg ik dit voor elkaar?
Voorbeeld:
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo h($pagina['name']); ?>


De pagina naam is dezelfde naam als in de andere table waar het mail adres in staat.
 
PHP hulp

PHP hulp

15/11/2024 09:00:50
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 18:08:08
Quote Anchor link
Wat versta je onder een mail link?

Iets als dit?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="mailto:[email protected]">Stuur een e-mail naar [email protected]</a>
 
Ruud Clauwers

Ruud Clauwers

27/03/2020 18:16:39
Quote Anchor link
Ja

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
CREATE TABLE `ecos` (`id` int(11) NOT NULL AUTO_INCREMENT, `eco_nr` varchar(55) DEFAULT NULL  `PE` varchar(11) DEFAULT NULL,  PRIMARY KEY (`id`));
INSERT INTO `epos` VALUES (1, 'E_P6639_01', 'RCLA'');

CREATE TABLE `admins` (`id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `mail` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`));
INSERT INTO `admins` VALUES (1, 'RCLA', '[email protected]');

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td><a href='mailto:<?php $admins['email']; ?>'><?php $eco['PE']; ?></a><td>
Gewijzigd op 27/03/2020 18:36:53 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/03/2020 18:29:57
Quote Anchor link
Je vergeet het echo keyword

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="mailto:<?php echo $admins['email']; ?>">Stuur een e-mail naar <?php echo $eco['PE']; ?></a>
Gewijzigd op 27/03/2020 18:31:06 door Frank Nietbelangrijk
 
Ruud Clauwers

Ruud Clauwers

27/03/2020 18:33:48
Quote Anchor link
Klopt moet erbij, maar werkt dan nog niet.
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 18:35:23
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
// maak een connectie aan:
$mysqli = mysqli_connect("localhost", "user", "password", "databasenaam");

// Als er geen verbinding wordt gemaakt
if (!$mysqli) {
    echo "Kan geen verbinding maken: " .mysqli_connect_errno() . PHP_EOL;
    exit; // stop het script
}

// Plaats de query in het geheugen ($sql)
$sql = "SELECT * FROM admins";

// voer de query uit
$result = mysqli_query($mysqli, $sql);

// controleer of de query uitgevoerd kan worden
if($result == true){
    
    // tel of er records gevonden zijn (hoger dan aantal wat 0 is)
    if(mysqli_num_rows($result)> 0) {
        // haal alle data op en verwerk deze in een loop in een array
        while($item = mysqli_fetch_assoc($result)) {
            echo '<a href="mailto:'.$item['mail'].'">'.$item['username'].'</a>';
        }
    }
else {
        // helaas, het aantal is 0...
        echo "Er is niemand gevonden in de tabel.";
    }
}
else {
    // als de query niet uitgevoerd wilt worden...
    echo "Er is een fout opgetreden bij uitvoer van de query: ".mysqli_error($mysqli);
}

?>
Gewijzigd op 27/03/2020 18:36:30 door - Ariën -
 
Ruud Clauwers

Ruud Clauwers

27/03/2020 23:14:24
Quote Anchor link
Dank Ariën door dit script kan ik wel zien dat alles werkt.
Alleen als ik dit script aanpas voor mijn pagina krijg ik op iedere link hetzelfde mail adres.
Hoe kan ik dit oplossen, dit is wat ik geprobeerd heb. Misschien dat ik er helemaal naast zit :).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($eco['PE'] == $admin['autograph'] { echo '<a href="mailto:'.$admin['email'].'">'.$eco['PE'].'</a>' } ?>
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 23:23:34
Quote Anchor link
Waar komt $eco en $admin vandaan?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/03/2020 23:25:39
Quote Anchor link
wellicht is het handig dat je wat meer code laat zien.
 
Ruud Clauwers

Ruud Clauwers

27/03/2020 23:27:26
Quote Anchor link
Doe ik
Gewijzigd op 27/03/2020 23:33:59 door Ruud Clauwers
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 23:33:00
Quote Anchor link
Zet het aub even tussen code-tags door je bericht te wijzigen. Dan is het beter leesbaarder. Zie ook de opmaakcodes in de Veelgestelde Vragen.
 
Ruud Clauwers

Ruud Clauwers

27/03/2020 23:37:44
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
CREATE TABLE `ecos` (`id` int(11) NOT NULL AUTO_INCREMENT, `eco_nr` varchar(55) DEFAULT NULL  `PE` varchar(11) DEFAULT NULL,  PRIMARY KEY (`id`));
INSERT INTO `epos` VALUES (1, 'E_P6639_01', 'RCLA'');

CREATE TABLE `admins` (`id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `mail` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`));
INSERT INTO `admins` VALUES (1, 'RCLA', '[email protected]');


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php

require_once('../../../private/initialize.php');

require_login();

$eco_set = find_all_ecos();
$admin_set = find_all_admins();

?>


<?php $page_title = 'Eco'; ?>
<?php include(SHARED_PATH . '/staff_header.php'); ?>


<div id="content">
  <div class="ecos listing">
    <h1>ECO</h1>

    <div class="actions">
      <a class="action" href="#"></a><br>
      <a class="action" href="<?php echo url_for('/staff/ecos/new.php'); ?>">Maak een nieuwe Eco aan.</a>
    </div>
    <table class="list">
      <tr>
        <th>ID</th>
        <th>Eco nummer</th>
        <th>User</th>
      </tr>

        <?php while($admin = mysqli_fetch_assoc($admin_set){ ?>
          <?php while($eco = mysqli_fetch_assoc($eco_set) { ?>

        <tr>
          <td><?php echo h($eco['id']); ?></td>
          <td><a href="#"><?php echo h($eco['eco_nr']); ?></a></td>
          <td><?php echo '<a href="mailto:'.$admin['email'].'">'.$eco['PE'].'</a>' ?></td>
        </tr>
    <?php } ?>
    </table>

    <?php
    mysqli_free_result($eco_set);
    ?>

  </div>

</div>

<?php include(SHARED_PATH . '/staff_footer.php'); ?>
 
Gewijzigd op 27/03/2020 23:48:23 door Ruud Clauwers
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 23:41:15
Quote Anchor link
En die twee functies?
Is een join niet beter, zodat je aan 1 query voldoende hebt?
 
Ruud Clauwers

Ruud Clauwers

27/03/2020 23:52:19
Quote Anchor link
Sorry ik heb in bovenstaande code <td> aangepast met de data die ik wil laten zien. Nu wil ik dat deze data tevens een mail link is, Het mail adres staat in de andere tabel 'admins' in de DB. Moet ik de $vars vergelijken of moet ik dit al van te voren in de DB doen?
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 23:55:49
Quote Anchor link
Wat voor queries draai je? Zit er er een relatie tussen?
 
Ruud Clauwers

Ruud Clauwers

28/03/2020 00:04:42
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
  function find_all_ecos() {
    global $db;

    $sql = "SELECT * FROM ecos ";
    $sql .= "ORDER BY id ASC";
    $result = mysqli_query($db, $sql);
    confirm_result_set($result);
    return $result;
  }
function
find_all_admins() {
    global $db;

    $sql = "SELECT * FROM admins ";
    $sql .= "ORDER BY last_name ASC, first_name ASC";
    $result = mysqli_query($db, $sql);
    confirm_result_set($result);
    return $result;
  }
[
code]<?php>
Gewijzigd op 28/03/2020 00:05:13 door Ruud Clauwers
 
- Ariën  -
Beheerder

- Ariën -

28/03/2020 00:06:08
Quote Anchor link
Zit er nog een relatie tussen die twee queries? Want een eco lijkt mij toch een admin te moeten hebben?
Gewijzigd op 28/03/2020 00:08:40 door - Ariën -
 
Ruud Clauwers

Ruud Clauwers

28/03/2020 00:20:26
Quote Anchor link
nee
 
- Ariën  -
Beheerder

- Ariën -

28/03/2020 00:25:08
Quote Anchor link
Hoe wordt dan bepaald welke rij uit eco bij welke admin hoort? Het lijkt mij niet dat de database daarover moet beslissen?
Gewijzigd op 28/03/2020 00:27:23 door - Ariën -
 
Ruud Clauwers

Ruud Clauwers

28/03/2020 00:36:59
Quote Anchor link
Daarom had ik deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($eco['PE'] == $admin['username'] { echo '<a href="mailto:'.$admin['email'].'">'.$eco['PE'].'</a>' } ?>

Maar dat werkt niet.
Ik weet dat ik iets niet goed doe maar zit hier al 3 dagen mee te $%^&&*
 
- Ariën  -
Beheerder

- Ariën -

28/03/2020 00:41:06
Quote Anchor link
Dan kan je beter een relatie maken tussen eco en admins. Dus geef ze beiden een ID-nummer, en pas je query aan met een JOIN.

Dan hoef je geen query in een query te draaien.

Toevoeging op 28/03/2020 00:44:06:

Ruud Clauwers op 28/03/2020 00:20:26:
nee

Dus wel. Dat blijkt uit je code.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.