Где я пошел не так, как надо со своим вопросом?

Я - настоящий новичок в PHP/MySQL, к настоящему времени сумели продвинуться, однако, теперь я должен получить информацию от двух столов, которые связаны. Я провел много исследования на том, что я должен сделать, но, может казаться, не выясняю, где я пошел не так, как надо.

ВОПРОС: Как я могу достать связь из стола коротких ссылок, который связан с короткой ссылкой в короткая ссылка_analytics?

Я получаю ошибку: Предупреждение: mysql_fetch_array() ожидает, что параметр 1 будет ресурсом, булевым данный

Мои столы следующие:

<�прочный> стол Коротких ссылок

id

короткая ссылка

связь

createdTime

createdBy

короткая ссылка_analytics table

короткая ссылка

ссылающийся домен

hitTime

userIP

userAgent

Кодекс, который я попробовал до сих пор:

$linecount = 1;
//$mostPop is where I think I have gone wrong and this is where the warning refers to
$mostPop = "SELECT короткая ссылка, COUNT(короткая ссылка) FROM короткая ссылка_analytics JOIN короткая ссылкаs ON короткая ссылка_analytics.короткая ссылка = короткая ссылкаs.короткая ссылка GROUP BY короткая ссылка ORDER BY COUNT(короткая ссылка) DESC LIMIT 10";
            $loadPop = mysql_query($mostPop);
            echo '<table id="middleIndex">';
            echo '<tr><td class = "overFlow">

Most Popular короткая ссылка

</td></tr>';
            echo '<tr>';
            while($row = mysql_fetch_array($loadPop))
            {
                    echo '<td class = "overFlow">'.$row[1].' visits - hud.ac/' . $row['короткая ссылка'] . '</td>';
                    echo '</tr>';
                    $linecount++;
            }
            echo '<tr id="indexMiddle"><td id="hand" class = "overFlow">View More</td></tr>';
                echo '</table>';

Я полагаю, что у меня нет достаточно полного понимания позади, как использовать СОЕДИНЕНИЕ или параметры, которые требуются, чтобы формировать успешное соединение.

0
добавлено
Просмотры: 2
nl ja de
парни аплодисментов, я понимаю, что mysql_* теперь обесцениваются и I' m в процессе передачи моего знания через к более новому соглашению, спасибо за обратную связь!
добавлено автор Sam Street, источник
Просто несколько примечаний. a) используя mysql_* семью функций действительно сильно препятствуют потому что they' ре, не действительно сохраняемое больше и, удерживается от использования в почти имени. ВЫ могли бы хотеть переключиться на PDO или mysqli вместо этого. b) смешивание логики показа (повторяющий разметку HTML) и прикладная логика (сомнение базы данных, и т.д.) isn' t рекомендуемый, поскольку это может вести, чтобы закодировать that' s очень трудный поддержать.
добавлено автор GordonM, источник
Используйте mysql_error , чтобы узнать то, чем ошибка SQL была и работа оттуда. Действительно обратите внимание, однако, что функции mysql_* удерживаются от использования и не должны действительно использоваться если вообще возможный. Необходимо, вероятно, изучить использование mysqli или PDO.
добавлено автор Jon Stirling, источник
Возможно, практикуйте свои вопросы непосредственно в инструментальных средствах MySQL или другом. Просто делает его немного легче, если ваш newb тогда можно передать его, чтобы закодировать;-)
добавлено автор Stokedout, источник
Перед мимолетным $loadPop к mysql_fetch_array, you' ve, чтобы удостовериться, что $loadPop содержит действительную стоимость. прибыль mysql_query, ложная в случае ошибки.
добавлено автор jithujose, источник

2 ответы

вы имеете короткую ссылку в обоих столах, которые изложат доводы. Попробуйте это sql заявление :

$mostPop = "SELECT shortlink_analytics.shortlink AS short, 
COUNT(shortlink_analytics.shortlink) AS shortcount,
(SELECT link FROM shortlinks 
WHERE shortlinks.shortlink = shortlink_analytics.shortlink) AS shLink
FROM shortlink_analytics 
JOIN shortlinks ON shortlink_analytics.shortlink = shortlinks.shortlink 
GROUP BY shortlink_analytics.shortlink 
ORDER BY COUNT(shortlink_analytics.shortlink) DESC LIMIT 10";
1
добавлено
Как делают я тогда получаю продукцию связи с экраном в моем цикле с условием продолжения, я пытался использовать:....'. $row [' link'].'.. и...'. $row [' короткие ссылки link'].'.. но когда я попробовал его, ни один из них не работал, поскольку они не определены?
добавлено автор Sam Street, источник
Как я получаю связь информация от другого стола и произвожу его, хотя, я могу получить информацию такой как короткую и shortcount, но это - информация от коротких ссылок, которые я также хочу показать. (жаль о том, что все время спросил)
добавлено автор Sam Street, источник
Я хочу показать связь от стола коротких ссылок в моем выводе HTML, действительно ли это возможно?
добавлено автор Sam Street, источник
Спасибо! это точно, в чем я нуждался!
добавлено автор Sam Street, источник
@SamStreet - Я добавил КАК к вопросу, таким образом, можно получить его от нового имени теперь как $row [' short'] и $row [' shortcount']
добавлено автор mamdouh alramadan, источник
@SamStreet, никакая проблема вообще. но какие данные вы хотите от коротких ссылок стола?
добавлено автор mamdouh alramadan, источник
@SamStreet - Я обновил ваш вопрос, таким образом, можно получить связь как shLink:)
добавлено автор mamdouh alramadan, источник
you' ре всегда добро пожаловать:)
добавлено автор mamdouh alramadan, источник

Попробуйте это (Управляйте этим вопросом в MySQL и если это работает, добавляет это в сценарии PHP),

SELECT 
    shortlink_analytics.shortlink, COUNT(shortlink_analytics.shortlink)
FROM
    shortlink_analytics
INNER JOIN
    shortlinks ON shortlink_analytics.shortlink = shortlinks.shortlink
GROUP BY shortlink_analytics.shortlink
ORDER BY COUNT(shortlink_analytics.shortlink) DESC
LIMIT 10

И проверьте mysql_effected_rows() функция, чтобы проверить, будет ли вопрос возвращать некоторый ряд или нет

0
добавлено