[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как занести ник из таблицы базы данных в форму с колонками?
ZOOTIGER
Предисловие.ПХП начал заниматься недавно программист никакой.

Я создал регистрацию, ники заносятся в Базу данных.Еще у меня есть форма.Вся форма заполняется с помощью способа SELECT(ну.., выбор из списка).Так вот: Как сделать так, чтобы в этот список попадали ники всех зарегистрированных пользователей, причем колонок у меня несколько(нужная name="guest")?Желательно легкий примерчик. rolleyes.gif



Спустя 1 час, 24 минуты, 34 секунды (11.05.2008 - 22:30) Ghost написал(а):

Спустя 35 минут, 5 секунд (11.05.2008 - 23:05) Adil написал(а):

Цитата
Желательно легкий примерчик.


Что надо сделать:
- подключиться к БД
- взять из данной таблицы имена всех зарег. пользователей
- вывести имена в списке


Код
<?
$connect_status = mysql_connect("localhost", "root") or die("Could not connect : " . mysql_error());

mysql_select_db("test") or die("Could not select database");

$sql="SELECT * FROM users";

$result=mysql_query($sql);

print "<form action= method=>";

print "<select name=test>";
while ($file= mysql_fetch_assoc($result)) {

print "<option value=$file[id]>  $file[login] </option>";

}
print "</select>";
print "<input type=submit>";
print "</form>";

?>

Спустя 10 часов, 39 минут, 48 секунд (12.05.2008 - 09:45) ZOOTIGER написал(а):
Код
print "<form action= method=>";
пишет что на этой линии ошибка.

Что она значит?

Parse error: syntax error, unexpected T_STRING in /home/zootigekz/domains/zootiger.kzet.ru/public_html/Site1-2-1-1n.php on line 90

Спустя 2 часа, 48 минут, 42 секунды (12.05.2008 - 12:34) md5 написал(а):
перевод требуется?
http://phpfaq.ru/debug

Спустя 39 секунд (12.05.2008 - 12:34) md5 написал(а):
ошибся ссылкой
http://pyha.ru/forum/topic/620.0

Спустя 3 дня, 21 час, 18 минут, 43 секунды (16.05.2008 - 09:53) ZOOTIGER написал(а):
Кто знает как исправить эту ошибку...? bc.gif

Спустя 5 часов, 18 минут, 15 секунд (16.05.2008 - 15:11) SiFaust написал(а):
Помойму так должно работать, при условии что поле где хранятся имена зарегистрированых называется "guest"...
Код
    <?php
    include "config.php"; //В этом файле прописаны подключение и т.д.
    $ath = mysql_query("select * from Имя нужной таблицы;");
    if($ath)
    {
      echo "<table border=1>";
      echo "<tr><td>имя</td></tr>";
      //Замыкаем в цикл
      while($user = mysql_fetch_array($ath))
      {
        echo "<tr><td>".$user['guest']." </td></tr>";
      }
      echo "</table>";
    }
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    ?>

Спустя 52 минуты, 31 секунда (16.05.2008 - 16:04) ZOOTIGER написал(а):
Цитата(SiFaust @ 16.5.2008, 12:11) [snapback]38608[/snapback]
Помойму так должно работать, при условии что поле где хранятся имена зарегистрированых называется "guest"...

Код
    <?PHP
    mysql_connect("localhost", "Моя БД", "пароль моей БД");
    mysql_select_db("Моя БД");
    $ath = mysql_query("SELECT Reg from name");
    if($ath)
    {
      echo "<table border=1>";        
           /////////////////№№№№№!!!!!!Вот здесь что-то нето, как сделать чтобы попадали ники в форму со списком (тег-select)???????№№№№№
      echo "<tr><td>имя</td></tr>";
      //Замыкаем в цикл
      while($user = mysql_fetch_array($ath))
      {
        echo "<tr><td>".$user['guest']." </td></tr>";
      }
      echo "</table>";
    }
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
?>



Спустя 3 минуты, 52 секунды (16.05.2008 - 16:08) ZOOTIGER написал(а):
Забыл подписать, где:

Reg---таблица БД

name---колонка с зарегестрированными пользователями из таблицы Reg БД

guest---имя формы в виде списка

Спустя 2 часа, 22 секунды (16.05.2008 - 18:08) SiFaust написал(а):
Ну так должно работать, во всяком случае у меня все имена выводит как надо... правда не совсем понял о какой форме guest ты говоришь...
Код
    <?php
    $dblocation = "localhost";
    $dbname = "твоя бд";
    $dbuser = "логин пользователя";
    $dbpasswd = "твйо пас";
    $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!$dbcnx)
    {
      echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    if (!@mysql_select_db($dbname, $dbcnx))
    {
      echo( "<P>В настоящий момент база данных не доступна, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    $ath = mysql_query("select * from Reg;");
    if($ath)
    {
      echo "<table border=1>";
      echo "<tr><td>имя</td></tr>";
      while($user = mysql_fetch_array($ath))
      {
        echo "<tr><td>".$user['name']." </td></tr>";
      }
      echo "</table>";
    }
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    ?>

Спустя 26 минут, 25 секунд (16.05.2008 - 18:34) ZOOTIGER написал(а):
Цитата(SiFaust @ 16.5.2008, 18:08) [snapback]38615[/snapback]
Ну так должно работать, во всяком случае у меня все имена выводит как надо... правда не совсем понял о какой форме guest ты говоришь...



УРАААА!!Работает, но не так как надо...О форме guest: вот щас все сработало и все вывелось на страницу в таблице, ну ники помещенные в таблице, а мне надо, чтобы не в таблицу, а В СПИСОК.(но списков у меня несколько, у одного имя home, а у другого guest,
приведу пример кода:
Код
<table>
<tr>
  <td><select name="home" style="position:absolute; left: 435px; top: 125px;">-------ВОТ СПИСОК С ИМЕНЕМ home, такой же ниже СПИСОК guest----------
    <option value=ZOOTIGER selected>ZOOTIGER </option>
    <option value=Klyen>Klyen </option>
  </select></td>
</tr>
<tr>
  <td><select name="home1" style="position:absolute; left: 565px; top: 125px;">
    <option value=0 selected>0
    <option value=1>1
    <option value=2>2
    <option value=3>3
    <option value=4>4
    <option value=5>5
    <option value=6>6
    <option value=7>7
    <option value=8>8
    <option value=9>9
    <option value=10>10
    <option value=11>11
    <option value=12>12
    <option value=13>13
    <option value=14>14
    <option value=15>15
    <option value=16>16
    <option value=17>17
    <option value=18>18
    <option value=19>19
    <option value=20>20
</select></td>
</tr>
<tr>
  <td><select name="guest1" style="position:absolute; left: 625px; top: 125px;">
    <option value=0 selected>0
    <option value=1>1
    <option value=2>2
    <option value=3>3
    <option value=4>4
    <option value=5>5
    <option value=6>6
    <option value=7>7
    <option value=8>8
    <option value=9>9
    <option value=10>10
    <option value=11>11
    <option value=12>12
    <option value=13>13
    <option value=14>14
    <option value=15>15
    <option value=16>16
    <option value=17>17
    <option value=18>18
    <option value=19>19
    <option value=20>20
</select></td>
</tr>
<tr>
  <td><select name="guest" style="position:absolute; left: 705px; top: 125px;">
    <option value=ZOOTIGER>ZOOTIGER </option>
    <option value=Klyen selected="selected">Klyen </option>
  </select></td>
</tr>
<tr>
)
Код
    <?php
    $dblocation = "localhost";
    $dbname = "твоя бд";
    $dbuser = "логин пользователя";
    $dbpasswd = "твйо пас";
    $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!$dbcnx)
    {
      echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    if (!@mysql_select_db($dbname, $dbcnx))
    {
      echo( "<P>В настоящий момент база данных не доступна, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    $ath = mysql_query("select * from Reg;");
    if($ath)
    {
      echo "<table border=1>";
      echo "<tr><td>имя</td></tr>";
      while($user = mysql_fetch_array($ath))
      {
        echo "<tr><td>".$user['name']." </td></tr>";
      }
      echo "</table>";
    }
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    ?>



Спустя 20 минут, 54 секунды (16.05.2008 - 18:55) ZOOTIGER написал(а):
............
if($ath)
{
echo "<table border=1>";
echo "<tr><td><select>имя</td></tr>";
while($user = mysql_fetch_array($ath))
-
echo "<tr><td><select><option value=".$user['name'].">".$user['name']." </option></select></td></tr>"; ВОТ ЧТО-ТО ТАК ТОЛЬКО У МЕНЯ ПОЛУЧИЛОСЬ МНОГО СПИСКОВ(столько сколько и ников) А НАДО ВСЕ НИКИ В ОДНОМ СПИСКЕ+СПИСКА У МЕНЯ ДОЛЖНО БЫТЬ ДВА(с именем home и guest, точнее они у меня уже есть только ники в них покашто не попадают)
}
echo "</table>";
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
exit();
}
?>

Спустя 5 минут, 13 секунд (16.05.2008 - 19:01) SiFaust написал(а):
Аа.. теперь дошло ))) ну с формой так же ))) думаю принцип ты понял...
Код
<html>
<body>
       <?php
   $dblocation = "localhost";
    $dbname = "твоя бд";
    $dbuser = "логин пользователя";
    $dbpasswd = "твйо пас";
    $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!$dbcnx)
    {
      echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    if (!@mysql_select_db($dbname, $dbcnx))
    {
      echo( "<P>В настоящий момент база данных не доступна, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    $ath = mysql_query("select * from Reg;");
    if($ath)
    {
      echo "<select>";
      while($user = mysql_fetch_array($ath))
      {
        echo "<option value=".$user['name']." selected>".$user['name']."</option><br>";
      }
    }
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    ?>
</body>
</html>

Спустя 24 минуты, 27 секунд (16.05.2008 - 19:25) ZOOTIGER написал(а):
rolleyes.gif Уррааа!! Все получилось.спс.
Слушай заодно неподскажешь вот что:
Надо чтобы ники попадали из таблицы в список только тогда, когда заполнена колонка game1.

Спустя 1 минута, 13 секунд (16.05.2008 - 19:26) ZOOTIGER написал(а):
.... когда заполнена колонка game1 в таблице БД Reg

Спустя 12 минут, 7 секунд (16.05.2008 - 19:38) SiFaust написал(а):
Теоритически должно работать )))
Код
<html>
<body>
       <?php
   $dblocation = "localhost";
    $dbname = "твоя бд";
    $dbuser = "логин пользователя";
    $dbpasswd = "твйо пас";
    $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!$dbcnx)
    {
      echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    if (!@mysql_select_db($dbname, $dbcnx))
    {
      echo( "<P>В настоящий момент база данных не доступна, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    $ath = mysql_query("select * from Reg;");
    if($ath)
    {
      echo "<select>";
      while($user = mysql_fetch_array($ath))
      {
            if($user['game1'])
         {
        echo "<option value=".$user['name']." selected>".$user['name']."</option><br>";
          }
      }
    }
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    ?>
</body>
</html>

Спустя 31 минута, 57 секунд (16.05.2008 - 20:10) ZOOTIGER написал(а):
Практически работает тоже.

Спустя 8 минут, 58 секунд (16.05.2008 - 20:19) ZOOTIGER написал(а):
У тебя времечко есть, сможешь ответить еще на несколько вопросов?

Спустя 34 минуты, 54 секунды (16.05.2008 - 20:54) ZOOTIGER написал(а):
У меня есть кнопка:
<tr>
<td><input name="submit" type="submit" style="position:absolute; left: 550px; top: 250px;" value="Занести результат"/></td>
</tr>

Надо чтобы она нажималась только тогда, когда в таблице Reg в колонке ip-находился такой же ипи-адрес какой у пользователя(тоесть во время нажатия кнопки вычислить ипи пользователя, затем сравнить его в таблице Reg БД со всеми ипи адресами, которые есть в колонке с названием ip.Совпадают-кнопка нажимается, не совпадают-не нажимается и выводится сообщение "Нужна авторизация").

Спустя 49 минут, 4 секунды (16.05.2008 - 21:43) SiFaust написал(а):
Где то так я думаю должно быть... при суловии что имя колонки Ip
Код
<?php
    $dblocation = "localhost";
    $dbname = "твоя бд";
    $dbuser = "логин пользователя";
    $dbpasswd = "твйо пас";
    $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!$dbcnx)
    {
      echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
$ip=$_SERVER['REMOTE_ADDR'];
$con = mysql_query("select * from Reg;");
    if($con)
    {
$sear=mysql_query("select Ip from Reg WHERE Ip='".mysql_real_escape_string($ip)."';") or die (mysql_error());
$sear2=mysql_fetch_assoc($sear);
if($sear2)
{
echo "<td><input name="submit" type="submit" style="position:absolute; left: 550px; top: 250px;" value="Занести результат"/></td>";
}
else
{
echo "Необходима авторизация!";
}
    }
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }


    ?>

А вообще тебе надо много прочитать так как видно ты вобщем то много не понял... ИМХО конечно но помойму надо сначала понять ну или хоть попробывать, а то так не разбираясь помойму учить бесполезно...

Спустя 45 минут, 57 секунд (16.05.2008 - 22:29) ZOOTIGER написал(а):
Неполучается пишет необходима авторизация, но такого не может быть.
Ну и да ладно, ну и пофик.(всеравно у меня авторизация левая...)
Подскажи лучше вот что, как узнать ник игрока, который нажал кнопку(чтобы ник того кто нажал кнопку попал в таблицу Reg БД, в колонку vvel)Впервую очередь теория

Цитата
А вообще тебе надо много прочитать так как видно ты вобщем то много не понял... ИМХО конечно но помойму надо сначала понять ну или хоть попробывать, а то так не разбираясь помойму учить бесполезно...
Читать совсем неудобно, сколько не ищешь, а ответа именно на мой конкретный вопрос найти сложно, так тем боллее гораздо легче учится: спросил, проверил на практике, все понял...... acute.gif

Спустя 30 минут, 6 секунд (16.05.2008 - 22:59) SiFaust написал(а):
Хех, и правда не рабочий ))) на, поправил
Код
<?php
include "config.php";

$conect = mysql_query("select * from Reg;");
    if($conect)
    {
$ip=$_SERVER['REMOTE_ADDR'];
$sear=mysql_query("select Ip from Reg WHERE Ip='$ip';") or die (mysql_error());
$sear2=mysql_fetch_assoc($sear);
if($sear2)
{
echo "<input type=submit value=Занести результат>";
}
else
echo "Необходима авторизация!";
}

    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }


    ?>

Что насчет примеров я согласен что так учится проще намного но иногда полезней и самому до всего дойти )))

з.Ы. Имя не знаю как, если он тут там впервые то откуда ник?)) если у таво кто уже был то используй куки))

Спустя 13 часов, 4 минуты, 21 секунда (17.05.2008 - 12:04) ZOOTIGER написал(а):
Код
<?php
    $dblocation = "localhost";
    $dbname = "Моя БД";
    $dbuser = "Мой юзер";
    $dbpasswd = "Мой пароль";
    $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!$dbcnx)
    {
      echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
$connect = mysql_query("select * from Reg;");
    if($connect)
    {
$ip=$_SERVER['REMOTE_ADDR'];
$sear=mysql_query("select ip FROM Reg WHERE ip='$ip'") or die (mysql_error());
$sear2=mysql_fetch_assoc($sear);
if($sear2)
{
echo "<tr><td><input name='submit' type='submit' style='position:absolute; left: 550px; top: 250px;' value='Занести результат'/></td></tr>    ";
}
else
echo "<p style='position:absolute; left: 550px; top: 250px;'>Необходима авторизация!</p>";
}
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    ?>


Всеравно не работает, я плохо понимаю но вот эта ---- $ip=$_SERVER['REMOTE_ADDR'];, как отображает ипи с точками или без, у меня в БД ипи вносится без точек, ну чисто там например 1921218464, а не 192.121.84.64.Может из-за этого и не совпадает?

Цитата
.Ы. Имя не знаю как, если он тут там впервые то откуда ник?)) если у таво кто уже был то используй куки))
Да, у того кто уже был как пользоваться куки, чтобы она вычислила ник, зарегестрированный в БД

Спустя 4 часа, 58 минут, 46 секунд (17.05.2008 - 17:02) SiFaust написал(а):
Ну да, с точками, так что или пиши в бд тоже с точками или обработай $ip что б точки удалялись в ней...


Цитата(SiFaust @ 17.5.2008, 14:02) [snapback]38664[/snapback]
Да, у того кто уже был как пользоваться куки, чтобы она вычислила ник, зарегестрированный в БД


http://softtime.ru/bookphp/gl8_1.php

Спустя 1 день, 16 часов, 6 минут, 26 секунд (19.05.2008 - 09:09) ZOOTIGER написал(а):
Как вычисляется ипи-адрес, эта строчка $ip=$_SERVER['REMOTE_ADDR']; не помогает выводит в базу данных только 6 первых цифр и без точек

Спустя 19 минут, 54 секунды (19.05.2008 - 09:29) ZOOTIGER написал(а):
Цитата(ZOOTIGER @ 19.5.2008, 10:09) [snapback]38772[/snapback]
Как вычисляется ипи-адрес, эта строчка $ip=$_SERVER['REMOTE_ADDR']; не помогает выводит в базу данных только 6 первых цифр и без точек

Все заработало, в БД, поставил тип VARCHAR

Спустя 38 минут, 29 секунд (19.05.2008 - 10:07) ZOOTIGER написал(а):
Цитата(SiFaust @ 17.5.2008, 18:02) [snapback]38664[/snapback]

Вот разбираю учебник, не пойму, что не так?:
<?PHP
Код
session_start();
mysql_connect("localhost", "Моя БД", "Мой пароль");
mysql_select_db("Моя БД");
$name=mysql_query("SELECT name FROM Reg");
$_SESSION['name']=$name;
echo 'Привет, '.$_SESSION['name']."<br>";
unset($_SESSION['name']);
session_destroy();
?>

-------------------------------------------------------------------------------------
Должно отображаться: Привет, НИК ПОЛЬЗОВАТЕЛЯ
У меня же: Привет, Resource id #4 - Что это значит?

Спустя 34 минуты, 50 секунд (19.05.2008 - 10:42) Adil написал(а):
Код
$name=mysql_query("SELECT name FROM Reg");


как ты думаешь, что должно оказаться в переменной $name ?

Спустя 5 часов, 57 минут, 9 секунд (19.05.2008 - 16:39) SiFaust написал(а):
А что ты хочешь если ты никакого значения $name и не даешь? Читай здесь http://softtime.ru/bookphp/gl12_10.php ...


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.