sql >> Databáze >  >> RDS >> Mysql

Nelze odeslat relevantní informace mysql do odkazu, na který jste kliknuli, pomocí SELECT *FROM tabulky WHERE proměnná LIKE '$variable'

Dokážu pochopit, jaké to je, když poprvé začínám. Jakmile zabalíte svou mysl kolem jejích základních částí, zbytek bude plynout.

Protože jste požádali o lepší způsob, navrhnu třídu, kterou osobně používám ve všech svých projektech.

https://github.com/joshcam/PHP-MySQLi-Database-Class

Samozřejmě si nezapomeňte stáhnout jednoduchou třídu MYSQLI z výše uvedeného odkazu a zahrnout ji stejně jako já níže do svého projektu. Jinak nic z toho nebude fungovat.

Zde je první stránka, která obsahuje tabulku se všemi uživateli z vaší Db tabulky osob. Uvádíme je v tabulce s jednoduchým tlačítkem upravit/zobrazit.

STRANA 1

 <?php 
        require_once('Mysqlidb.php');

        //After that, create a new instance of the class.

    $db = new Mysqlidb('host', 'username', 'password', 'databaseName');

    //a simple select statement to get all users in the DB table persons
    $users = $db->get('persons'); //contains an Array of all users 


    ?>
    <html>
    <head>



    <link  type="text/css" href="style.css">
    </head>
    <body>

<table>

    <th>
        First Name
    </th>
    <th>
        Last Name
    </th>
    <th>&nbsp;</th>

<?php 

//loops through each user in the persons DB table
//the id in the third <td> assumes you use id as the primary field of this DB table persons
foreach ($users as $user){ ?>
    <tr>
        <td>
            <?php echo $user['fname'];?>
        </td>
        <td>
            <?php echo $user['lname'];?>
        </td>
        <td>
        <a href="insert.php?id=<?php echo $user['id']; ?>"/>Edit/View</a>   
        </td>
    </tr>

<?php } ?>

</table>
</body>
    </html>

Takže tím vaše první stránka končí. Nyní musíte tento kód zahrnout na svou druhou stránku, o které předpokládáme, že se jmenuje insert.php.

STRANA 2

<!--add this to your insert page-->

 <?php 
        require_once('Mysqlidb.php');

        //After that, create a new instance of the class.

    $db = new Mysqlidb('host', 'username', 'password', 'databaseName');

    //a simple select statement to get all the user where the GET 
    //variable equals their ID in the persons table
    //(the GET is the ?id=xxxx in the url link clicked)

    $db->where ("id", $_GET['id']);
    $user = $db->getOne('persons'); //contains an Array of the user

    ?>

<html>
<head>



<link  type="text/css" href="style.css">
</head>
<body>
    <table>

<th>
    First Name
</th>
<th>
    Last Name
</th>
<th>user ID</th>


<tr>
    <td>
        <?php echo $user['fname'];?>
    </td>
    <td>
        <?php echo $user['lname'];?>
    </td>
    <td>
    <?php echo $user['id']; ?>  
    </td>
</tr>

</body>
</html>


  1. Doktrína neuchovává entitu s booleovskými hodnotami a PDO::ATTR_EMULATE_PREPARES =false v Mysql

  2. Výběr odlišných oznámení a příprava jasnějšího oznámení

  3. MySQL Insert Select - NOT NULL pole

  4. Sloučit výsledky tabulky do sloupců (kontingenční/kontingenční?)