Intereting Posts
<a> с PHP внутри разделяет ссылку Пользовательский запрос для поиска по категориям get_theme_mod () работает только при открытом клиенте The_excerpt () не анализирует <! – больше -> – как это изменить? Страница пользовательского поиска не работает Создайте страницу архива для персонализированного типа сообщения с пользовательской таксономией Запретить вкладчику показывать список комментариев Проблемы с ресурсами: импорт внешних данных в пользовательский тип сообщения и ведение записей в актуальном состоянии Однажды щелкнув навигацию «Dehighlighting» Мой виджет не печатает before_widgets и после виджетов Не удалось добавить новый элемент в домашнюю страницу WordPress Создайте тело div с помощью CSS Как разрешить авторам пересматривать проекты других авторов, но не препятствовать их публикации? Есть ли способ скрыть элемент на основе типа продукта woocommerce? WSOD 3.9.1 – Пробовал все до сих пор

Как получить конкретную таблицу по имени текущего пользователя

Я использую контактную форму 7 и «сохраняю контактную форму 7». Я хочу, чтобы зарегистрированный пользователь видел только свои поля. Итак, он увидит результаты, только если $reservation->user равен $current_user->user_login .

Кстати, когда пользователь отправляет форму контакта, его пользовательское значение автоматически генерируется как текущее имя пользователя.

 [text* user readonly default:user_login] 

Итак, моя проблема только в том, что я пытаюсь получить таблицу из моей базы данных.

Я использую следующий код:

 global $wpdb; $current_user = wp_get_current_user(); $username = $current_user->user_login; echo 'Username: ' . $username . "\n"; $reservations = $wpdb->get_results( "SELECT * FROM SaveContactForm7_1 WHERE user= '***I need the condition here***' ;" ); //print_r( $reservations ); 

Для таблицы, которая появится на моей странице, это код:

 <?php echo "<table>"; echo "<tr>"; echo "<th>ID</th>"; echo "<th>Nom et Prenom</th>"; echo "<th>Qualite</th>"; echo "<th>Arrivee</th>"; echo "<th>Num Vol</th>"; echo "<th>Heure atterrissage</th>"; echo "<th>Provenance</th>"; echo "<th>Depart</th>"; echo "<th>Num Vol</th>"; echo "<th>Decollage</th>"; echo "<th>Destination</th>"; echo "<th>Hotel</th>"; echo "<th>Type de chambre</th>"; echo "<th>Total a payer</th>"; echo "</tr>"; foreach($reservations as $reservation){ echo "<tr>"; echo "<td>".$reservation->user."</td>"; echo "<td>".$reservation->nom."</td>"; echo "<td>".$reservation->qualite."</td>"; echo "<td>".$reservation->datearrivee."</td>"; echo "<td>".$reservation->num_vol_arrivee."</td>"; echo "<td>".$reservation->heure_atterrissage."</td>"; echo "<td>".$reservation->provenance."</td>"; echo "<td>".$reservation->datedepart."</td>"; echo "<td>".$reservation->num_vol_depart."</td>"; echo "<td>".$reservation->heure_decollage."</td>"; echo "<td>".$reservation->destination."</td>"; echo "<td>".$reservation->choix."</td>"; echo "<td>".$reservation->typech."</td>"; echo "<td>".$reservation->calculated_choix."</td>"; echo "</tr>"; } echo "</table>"; ?> 

Обратите внимание, что вам может понадобиться использовать WPDB::prepare() для предотвращения инъекций SQL. Хотя, это может быть спорно в вашем конкретном случае …

 // If the query does not work, ensure the table name is correct... $table = $wpdb->prefix . 'SaveContactForm7_1'; $reservations = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $table WHERE user = %s", $username ) ); 

См. WPDB класс WPDB . Надеюсь, это ответит на ваш вопрос.