2016-03-15 27 views
0

我在显示用户订单信息时遇到问题。我正在使用WordPress,所以生病必须使用它们的功能。有一个表格,其中包含我想要显示的所有订单信息,另一个表格称为wp_users,其中包含电子邮件和用户名。该电子邮件将与它在表单中一样,所以我想方设法看看表单的电子邮件和wp_users的电子邮件是否匹配,然后我可以向特定用户显示他的订单信息,但我不知道如何会这样做。如何显示来自2个不同表格的数据匹配的特定内容?

我这是怎么拿到订单和电子邮件信息

$inputs = $wpdb->get_row("SELECT * FROM form WHERE md5(concat(ID)) = '$validate'"); 
if (empty($_REQUEST) || !empty($_GET['order_nr'])) { 


?> 
<form name="abonnement" action="/" method="post"> 
    1 jaar abonnement: <input type = "radio" name="option" value = "1" checked = "checked"><br> 
    Eerst volgende nummer: <input type = "radio" name="option" value = "2"><br> 
    Historische nummer <input type = "radio" name="option" value = "3"> 
    <br><br> 
    Naam:<input type = "text" name="naam" value = "<?php echo $inputs->naam; ?>" required><br> 

    Adres:<input type = "text" name="adres" value= "<?php echo $inputs->adres; ?>" required><br> 
    Postcode/Woonplaats:<input type="text" name = "plaats" value = "<?php echo $inputs->plaats; ?>" required><br> 
    Land:<input type= "text" name="land" value = "<?php echo $inputs->land; ?>"required><br> 
    Telefoon: <input type = "text" name="tel" value = "<?php echo $inputs->telefoon; ?>"required><br> 
    Email: <input type = "email" name="email" value = "<?php echo $inputs->email; ?>" required><br> 
    Datum: <input type = "text" name="datum" value = "<?php echo $inputs->datum; ?>" required><br><br> 
    <input type = "hidden" name="order_id" value = "<?php echo $inputs->ID; ?>"> 

    <input id = "appear" type = "checkbox" name ="cadeau"> Geeft u het abonnement cadeau? Vul dan ook het onderstaande formulier in.<br> 
    <div id="cadeau"> 

    Naam:<input type = "text" name = "cadNaam"> 
    Adres:<input type = "text" name = "cadAdres"> 
    Postcode/Woonplaats:<input type = "text" name = "cadPlaats"> 
    Land:<input type= "text" name = "cadLand"> 
    Telefoon: <input type = "text" name = "cadTel" > 
    Email: <input type = "text" name = "cadEmail"><br> 
    </div> 

    <input type = "submit" name = "formSubmit" value = "Verzenden"><br><br> 
    </form> 


    <?php 
    $wpdb->insert('form', array( 
    'naam' => $_POST['naam'], 
    'adres' => $_POST['adres'], 
    'plaats' => $_POST['plaats'], 
    'land' => $_POST['land'], 
    'telefoon' => $_POST['tel'], 
    'email' => $_POST['email'], 
    'datum' => $_POST['datum'], 
    'cadNaam' => $_POST['cadNaam'], 
    'cadAdres' => $_POST['cadAdres'], 
    'cadPlaats' => $_POST['cadPlaats'], 
    'cadLand' => $_POST['cadLand'], 
    'cadTelefoon' => $_POST['cadTel'], 
    'cadEmail' => $_POST['cadEmail'], 
    'option' => $option, 
    'prijs' => $priceDB, 
    'Tijd' => $now 

)); 

而且这里是我创建的WordPress用户

$email = $_POST['email']; 
$option = $_POST['option']; 
$price = ""; 

if(null == username_exists($email)) { 
$password = wp_generate_password(12, false); 
$user_id = wp_create_user($email, $password, $email); 

wp_update_user(
array(
    'ID'   => $user_id, 
    'nickname' => $email 
) 
); 


$user = new WP_User($user_id); 
$user->set_role('contributor'); 

wp_mail($email, 'Welcome!', 'Your Password: ' . $password); 
} 

所以它可能将不得不是这个样子?

$orderinfo = $wpdb->get_row("SELECT * FROM form WHERE wp_users.email =  form.email"); 

在此先感谢。

回答

0

使用此查询检索具有相同电子邮件值的数据。

$orderinfo = $wpdb->get_row("SELECT * FROM wp_user inner join form on wp_users.email = form.email"); 

如果你想然后在wp_user和表格中检查用户标识。

$orderinfo = $wpdb->get_row("SELECT * FROM wp_user inner join form on wp_users.email = form.email and wp_user.user_id= form.user_id"); 
+0

但是,我将如何获得仅为1个用户的订单信息?有了这个查询,它会显示所有用户匹配电子邮件的所有数据吗? – kerv

+0

检查您想要的条件的用户标识。 – WisdmLabs

相关问题