[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача данных из базы по раскрывающемуся списку
Taha
Приветик всем!!!

Помогите пожалуйста разобраться... бьюсь который день wacko.gif
имеется раскрывающийся список со странами, он подгружается из базы данных... при выборе страны под списком появляется табличка со значениями в цикле из базы данных по этой выбранной стране...
вот код, но в нем ошибка, немогу найти..... да и как сделать переход на страничку с нужными значениями.... у меня у каждой страны свой id, а в табличке с данными по странам столбец "country" в котором id нужной страны
$result = mysql_query("SELECT * FROM country ORDER BY country");
$myrow = mysql_fetch_array($result);
echo "<select name='napravlenie'>";
do
{
printf ("<option value='%s'>%s</option>",$myrow["id"],$myrow["country"]);
}
while ($myrow = mysql_fetch_array($result));
echo "</select>"

$result2 = mysql_query("SELECT * FROM spets_predlozenia WHERE country='$id'");
$myrow2 = mysql_fetch_array($result2);
do
{
printf ("<table width="400" border="0">
<tr>
<td><p>%s - %s</p></td>
<td><p> %s </p></td>
</tr>
</table>"
,$myrow2['data_1'],$myrow2['data_2'],$myrow2['ssilka']);
}
while ($myrow2 = mysql_fetch_array($result2));




Спустя 16 минут, 56 секунд (25.02.2010 - 13:38) sergeiss написал(а):
Я когда вижу "поповский" код, то единственное, что могу предложить - это идти сюда и "учить матчасть".

Потому что комментировать сей код уже устал smile.gif (и не я один, наверное).

Прочитаешь по ссылке - если что будет непонятно, то уточняй.

Спустя 21 минута, 29 секунд (25.02.2010 - 13:59) Taha написал(а):
Ох не хрена себе!!!!!! blink.gif А я и не знала, эх если б я эти курсы купила то было бы обидно biggrin.gif спасибо.... поразбираюсь

Спустя 45 минут, 44 секунды (25.02.2010 - 14:45) sergeiss написал(а):
Taha - ты не поверишь smile.gif Но этот код появляется на форуме как минимум через день smile.gif
Вот это вот $result2, $myrow2, цикл do-while, где он совсем не нужен, printf именно с такими параметрами, да и вообще код в целом smile.gif И даже вопрос про страны...
Всё уже настолько узнаваемо! biggrin.gif

Спустя 20 минут, 57 секунд (25.02.2010 - 15:06) Taha написал(а):
biggrin.gif любят люди видеокурсы

Спустя 1 час, 12 минут, 44 секунды (25.02.2010 - 16:19) Taha написал(а):
блин... чё не так делаю.... wacko.gif если с паролем подключаться то ошибка вылетает Warning: mysql_connect(): Access denied for user: 'taha@localhost' (Using password: YES) in z:\home\asmita.ru\www\proba.php on line 10
Access denied for user: 'taha@localhost' (Using password: YES)

если убрать пароль в mysql, то просто пустое место на экране... теститую на localhost

<?php

define("HOST","localhost");
define("USER","taha");
define("PASS","");
define("DB","asmita");

$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());

mysql_select_db(DB, $link);

mysql_query ("SET NAMES windows-1251");
mysql_query ("set character_set_client='windows-1251'");
mysql_query ("set character_set_results='windows-1251'");
mysql_query ("set collation_connection='windows-1251_general_ci'");


$sql = "SELECT * FROM `country` ORDER BY `country`";

$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);

$table = "<table border=0 width=100% align=center>\n";

while ($row = mysql_fetch_assoc($result))
{
$table .= " <tr>\n";

$table .= "<td>".$row['data_1']."</td>\n";
$table .= "<td>".$row['data_2']."</td>\n";
$table .= "<td>".$row['ssilka']."</td>\n";

$table .= "</tr>\n";
}

$table .= "</table>\n";

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title>Документ без названия</title>
</
head>
<
body>

<?php

echo $table;

?>
</body>
</
html>

Спустя 18 минут, 37 секунд (25.02.2010 - 16:37) Mizka написал(а):
укажи пароль, ошибка говорит, что он не пустой smile.gif
Цитата
Using password: YES

здесь
define("PASS","");

Спустя 4 минуты, 14 секунд (25.02.2010 - 16:42) Taha написал(а):
когда я ставлю пароль, то ошибка и вылетает... если убираю пароль, понятное дело и mysql, то просто белый экран, ничего не выводиться

Спустя 1 час, 20 минут, 7 секунд (25.02.2010 - 18:02) ancient mariner написал(а):
Поставь юзера root и пустой пароль.

Цитата
$table .= "<td>".$row['ssilka']."</td>\n";

На такие вещи, как поле ssilka, обычно ругаются, ибо давать названия транслитом - моветон wink.gif

Спустя 14 минут, 28 секунд (25.02.2010 - 18:16) Gabriel написал(а):
Taha
а каков вообще логин и пас для доступа? по дефолту root без пароля

Спустя 31 минута, 47 секунд (25.02.2010 - 18:48) Taha написал(а):
исправила логин на root, пароль убрала.... и поле ssilka на title.... все равно пустое поле sad.gif

Спустя 3 минуты, 28 секунд (25.02.2010 - 18:51) Gabriel написал(а):
Taha
дык это есть навание колонки в бд. а не ругается на доступ к бд?

Спустя 49 секунд (25.02.2010 - 18:52) Taha написал(а):
нашла ошибку... грузиться все biggrin.gif

теперь нужно разобраться с раскрывающимся списком... так что я еще вернусь biggrin.gif

Спустя 14 часов, 52 минуты, 14 секунд (26.02.2010 - 09:45) Taha написал(а):
Со списком разобралась, вытащила biggrin.gif но только там страны повторяются, и в списке тоже, можно как то сделать чтоб не повторялись в списке
и вот как теперь связать этот список с данными под списком dry.gif на данный момент у меня вытаскиваются все данные из таблички... а нужно чтоб эти данные вылазили только для определенной страны... помогите пожалуйста
<?php
include 'blocks/db.php';
$sql = "SELECT `data_1`,`data_2`,`title` FROM `spets_predlozenia`";
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
$table = "<table border=0 width=100% align=center>\n";

while ($row = mysql_fetch_assoc($result))
{
$table .= " <tr>\n";

$table .= "<td>".$row['data_1']." - ".$row['data_2']."</td>\n";
$table .= "<td>".$row['title']."</td>\n";

$table .= "</tr>\n";
}
$table .= "</table>\n";
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title>Документ без названия</title>
</
head>
<
body>

<?php

$query = "SELECT `country` FROM `spets_predlozenia` ORDER BY `country`";
$res = mysql_query($query);
?>
<select>
<
option value='null'>- Выберите страну -</option>
<?php
while($row = mysql_fetch_array($res)){
echo "<option value='" . $row['country'] . "'>" . $row['country'] . "</option>\n";
}
?>
</select>
<?php
echo $table;
?>
</body>
</
html>

Спустя 1 час, 6 минут, 56 секунд (26.02.2010 - 10:51) Mizka написал(а):

$sql = "SELECT `data_1`,`data_2`,`title` FROM `spets_predlozenia` WHERE `country` = 'any country here'";

можно возле селекта поставить кнопку для отправки запроса или красиво по онЧейндж аяксом отправлять smile.gif

Спустя 7 минут, 14 секунд (26.02.2010 - 10:59) Taha написал(а):
а по подробнее можно rolleyes.gif

Спустя 7 дней, 14 минут, 44 секунды (3.03.2010 - 11:13) Taha написал(а):
может ктонить все таки поможет... не хватает у меня мозгов wacko.gif

Маскимум до чего дошла - это сопоставила страны с текстом для них, но работает только если в строке браузера набрать /proba.php?country=1 при этом вылезает в раскрывающемся списке нужная страна и тект про эту страну... а нужно чтоб в списке были все страны по котрым есть данные и при выборе страны показывались данные о ней в цикле... понятно что не так делаю, думаю надо както массив из этих стран вывести, а потом применить к списку наверно
Вот мой код:
<?php

include 'blocks/db.php';
$sql = "SELECT `data_1`,`data_2`,`title` FROM `spets_predlozenia` WHERE `countrys` = '$country'";

$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);

$table = "<table border=0 width=100% align=center>\n";

while ($row = mysql_fetch_assoc($result))
{
$table .= " <tr>\n";

$table .= "<td>".$row['data_1']." - ".$row['data_2']."</td>\n";
$table .= "<td>".$row['title']."</td>\n";

$table .= "</tr>\n";
}
$table .= "</table>\n";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title>Документ без названия</title>
</
head>
<
body>

<?php

$sql2 = "SELECT * FROM `country` WHERE `id` = '$country' ORDER BY `countrys`";
$result2 = mysql_query($sql2) or die(mysql_error() ."<br/>". $sql2);


?>
<select>
<
option value='null'>- Выберите страну -</option>
<?php
while($viv = mysql_fetch_assoc($result2)){
echo "<option value='" . $viv['countrys'] . "'>" . $viv['countrys'] . "</option>\n";
}
?>
</select>
<?php
echo $table;

?>
</body>
</
html>


вот еще скрипт нашла, но там при выборе из раскрывающегося списка вылазит еще один раскрывающийся список, у меня же табличка в цикле
<?php
// массив с марками и моделями
$autos = array(
'-'=>array('сначала выберите марку'),
'audi'=>array('a3','a5'),
'bmw'=>array('i563','x3','x6')
);

$s1_val= isset($_GET['s1']) ? $_GET['s1'] : null; // пользователь выбрал марку?
$s2_options = isset($autos[$s1_val])?$autos[$s1_val]:$autos['-']; // определяем какие модели показывать
function htmlSelect($name,$options,$extra='') {
$o=array();
$def = isset($_REQUEST[$name]) ? $_REQUEST[$name] : null;
foreach($options as $v) $o[] = '<option value="'.$v.'" '.($def==$v?'selected="selected"':'').'>'.$v.'</option>';
return '<select name="'.$name.'" id="'.$name.'" '.$extra.'>'.implode("\n",$o).'</select>';
}
?>
<form method="post" >
<?php echo htmlSelect('s1', array_keys($autos),'OnChange="document.location=\'test.php?s1=\'+this.value"'); ?>
<?php
echo htmlSelect('s2', $s2_options );?>
<input type="submit" name="btn_submit" value="save" />
</
form>
Быстрый ответ:

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